如果点击的元素不是某个特定DIV元素的子元素,我该如何检查?
$("body").click(function(e) {
if(e NOT child of $('#someDiv')) alert(1);
});
答案 0 :(得分:6)
if ($(e.target).parent('#someDiv').length == 0) {
...
}
或者,你是说("不是e&#34的祖先):
if ($(e.target).closest('#someDiv').length == 0) {
答案 1 :(得分:1)
您可以将parent
方法与选择器一起使用,以返回父元素(如果它与该选择器匹配)。然后,您可以检查length
属性以查看是否返回了父元素:
$("body").click(function(e) {
if(!$(this).parent("#someDiv").length) {
alert("Not a child");
}
});
如果您想检查点击的元素是否不是祖先,您可以使用parents
代替parent
。
答案 2 :(得分:1)
$('yourElement').on('click',function(){
if(!$(this).parents('theDiv').length){
//not a child
}
});