0

可能的重复:
jQuery:除 ___ 之外的所有目标?

我有一个脚本可以检测页面上每个元素的点击。我希望它可以在除特定 div 及其子项之外的所有内容上运行。

我已经尝试使用 :not 选择器来执行此操作,但并不真正了解如何有效地使用它,所以我不确定这是否是正确的方法。

这是一些示例代码:

<div id="clickme">This is good stuff</div>

<div id="dontclickme">This should not get selected</div>

我目前正在使用$("*")我的选择器。有没有办法使用它来检测它是第二个 div 还是它的任何孩子?

4

2 回答 2

0

选择所有divs,但不选择.class

$("div").not(".class")

也适用于其他选择器。

于 2012-12-27T21:55:10.903 回答
0

您可以使用.filter().closest()来检查元素是否具有某个 id 或元素是否是具有某个 id 的元素的子/后代...

$('body *').filter(function(i, v) {        
    return $(v).closest('#dontclickme').length == 0;
})

http://jsfiddle.net/wirey00/7JE7x/

于 2012-12-27T22:05:01.970 回答