微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery`is`不是一个函数

我有以下 HTML菜单

<ul>
    <li><a href="index.html">Index Page</a></li>
    <li><a href="#some-page">Some Page</a></li>
</ul>

假设var url =“some-page”;

$('#menu li a').prop('href')
                   .is('#' + url )
                   .parrent()
                   .addClass('active');

我一直在收到错误信息.这不是一个功能.为什么? .is显然是一种功能.

任何建议都非常感谢.

解决方法

之前调用的prop()方法是()将href属性作为字符串返回.

字符串没有is()方法.

尝试;

$('#menu li a').filter('[href="' + url + '"]').parent().addClass('active');

虽然你可以将它组合成一个选择器;

$('#menu li a[href="' + url + '"]').parent().addClass('active');

请注意,如果任何匹配的元素与选择器匹配,则is()返回true或false;所以如果你想使用is(),可以使用以下表格;

$('#menu li a').each(function () {
    if ($(this).is('[href="#' + url +'"]')) {
        $(this).parent().addClass('active');
    }
});

attribute equals selector

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐