jQuery - 选择一切但是

时间:2014-12-08 07:23:57

标签: javascript jquery html jquery-selectors

我想使用jQuery选择除某个div之外的页面上的所有内容。我的问题类似于this answer,但该解决方案仅选择div,我想选择 所有内容

在这个example Fiddle中,我想选择一个没有的东西,或者不是一个元素的后代,一类"孩子"。所以点击"孙子"和"孩子"不应该显示日志条目,而是单击" parent"或图像会。

该页面的结构非常复杂,因此this之类的内容不可行。

3 个答案:

答案 0 :(得分:2)

您可以尝试非选择器

$('body *').not('.kids, .kids *');

或者如果您尝试注册事件处理程序,那么

$(document).on('click', ':not(.kids, .kids *)', function(){
})

答案 1 :(得分:1)

在jquery中使用e.currentTarget

$("#parent").not($('.kids')).click(function(e) {
    console.log(e.currentTarget);
});

答案 2 :(得分:1)

使用此代码,此代码排除.kids元素和.kids类的内部元素

$('body').click(function(e) {
    if(!$(e.target).closest('.kids').length){
      console.log(e.target);
    }
});

DEMO