检查元素是否是给定元素的父元素

时间:2012-04-16 12:53:05

标签: javascript jquery parent

如果点击的元素不是某个特定DIV元素的子元素,我该如何检查?

$("body").click(function(e) {
    if(e NOT child of $('#someDiv')) alert(1);
});

3 个答案:

答案 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
      }
});