我想使用jQuery选择除某个div
之外的页面上的所有内容。我的问题类似于this answer,但该解决方案仅选择div,我想选择 所有内容 。
在这个example Fiddle中,我想选择一个没有的东西,或者不是一个元素的后代,一类"孩子"。所以点击"孙子"和"孩子"不应该显示日志条目,而是单击" parent"或图像会。
该页面的结构非常复杂,因此this之类的内容不可行。
答案 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);
}
});