Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery not选择器工作不正常_Jquery - Fatal编程技术网

jquery not选择器工作不正常

jquery not选择器工作不正常,jquery,Jquery,我知道有些主题有类似的问题,但我找不到解决问题的方法。 我有7个字母。他们有导航链接,项目元素类,还有一个活动类 我有一个脚本,如果单击非活动元素,它将执行一些方法。 我的剧本: $('a.nav-link.item-element').not('.active').click(function () { console.log(result); }); 我的问题是,即使我单击active element,脚本也在执行其工作,因此not属性不起作用,但是如果我将第一个选择行粘贴

我知道有些主题有类似的问题,但我找不到解决问题的方法。 我有7个字母。他们有
导航链接
项目元素
类,还有一个
活动

我有一个脚本,如果单击非活动元素,它将执行一些方法。 我的剧本:

$('a.nav-link.item-element').not('.active').click(function () {    
    console.log(result);
});
我的问题是,即使我单击active element,脚本也在执行其工作,因此
not
属性不起作用,但是如果我将第一个选择行粘贴到控制台,则可以:

因此总结:选择器
not
在控制台中检查时起作用,但在单击元素时不起作用

有人知道问题出在哪里吗

##HTML

我制作原始html只是为了向您展示-我知道这并不漂亮,但它只是为了测试:

<a class="nav-link item-element" href="#" id="test-element" data-toggle="pill" role="tab" aria-selected="false">element2</a>
<a class="nav-link item-element" href="#" id="test-element" data-toggle="pill" role="tab" aria-selected="false">element3</a>
<a class="nav-link item-element" href="#" id="test-element" data-toggle="pill" role="tab" aria-selected="false">element4</a>
<a class="nav-link item-element" href="#" id="test-element" data-toggle="pill" role="tab" aria-selected="false">element5</a>
<a class="nav-link item-element" href="#" id="test-element" data-toggle="pill" role="tab" aria-selected="false">element6</a>
<a class="nav-link item-element" href="#" id="test-element" data-toggle="pill" role="tab" aria-selected="false">element7</a>```

```

我们还需要查看HTML,以便创建问题的工作示例使用:
$(文档)。在('click','a.nav-link.item元素:not(.active'),function(){})
,因为您可能正在操作domJohn,您的解决方案正在工作,谢谢!也许发表评论接受你的回答。无论如何,你能描述一下为什么使用
$(document)
它能工作吗?这是因为你在运行时添加了
活动的
类。当DOM加载并绑定事件处理程序时,它不在元素上。John的建议之所以有效,是因为它是一个委托事件处理程序