如果单击的元素不是某些特定 DIV 元素的子元素,我该如何检查?
$("body").click(function(e) {
if(e NOT child of $('#someDiv')) alert(1);
});
如果单击的元素不是某些特定 DIV 元素的子元素,我该如何检查?
$("body").click(function(e) {
if(e NOT child of $('#someDiv')) alert(1);
});
if ($(e.target).parent('#someDiv').length == 0) {
...
}
或者,您的意思是(“不是 e 的祖先”):
if ($(e.target).closest('#someDiv').length == 0) {
如果父元素匹配该选择器,您可以使用该parent
方法和选择器返回父元素。然后,您可以检查length
属性以查看是否返回了父元素:
$("body").click(function(e) {
if(!$(this).parent("#someDiv").length) {
alert("Not a child");
}
});
如果要检查点击的元素是否不是祖先,可以使用parents
代替parent
。
$('yourElement').on('click',function(){
if(!$(this).parents('theDiv').length){
//not a child
}
});