Javascript 检查元素是否为给定元素的父元素
如果单击的元素不是某个特定DIV元素的子元素,如何检查Javascript 检查元素是否为给定元素的父元素,javascript,jquery,parent,Javascript,Jquery,Parent,如果单击的元素不是某个特定DIV元素的子元素,如何检查 $("body").click(function(e) { if(e NOT child of $('#someDiv')) alert(1); }); 或者,你的意思是(“不是e的祖先”): 或者,你的意思是(“不是e的祖先”): 如果父元素与选择器匹配,则可以使用带有选择器的parent方法返回父元素。然后可以检查length属性以查看是否返回了父元素: $("body").click(function(e) { if
$("body").click(function(e) {
if(e NOT child of $('#someDiv')) alert(1);
});
或者,你的意思是(“不是e的祖先”):
或者,你的意思是(“不是e的祖先”):
如果父元素与选择器匹配,则可以使用带有选择器的
parent
方法返回父元素。然后可以检查length
属性以查看是否返回了父元素:
$("body").click(function(e) {
if(!$(this).parent("#someDiv").length) {
alert("Not a child");
}
});
如果要检查单击的元素是否不是祖先元素,可以使用
父元素
而不是父元素
,如果父元素与选择器匹配,可以使用带有选择器的父元素
方法返回父元素。然后可以检查length
属性以查看是否返回了父元素:
$("body").click(function(e) {
if(!$(this).parent("#someDiv").length) {
alert("Not a child");
}
});
$('yourElement').on('click',function(){
if(!$(this).parents('theDiv').length){
//not a child
}
});
如果要检查单击的元素是否不是祖先,可以使用
parents
而不是parent
.closest()
从元素本身开始,如果它发现了什么,则停止。如果选择器与子对象匹配(比如使用类),它将返回自身.parents()
会更安全。@Joseph被很好地发现了。然后使用.parent().closest('#someDiv')
@RobW错过了那个。我认为OP的意思是使用.on
或.delegate
.closest()
从元素本身开始,如果它找到了什么,它就会停止。如果选择器与子对象匹配(比如使用类),它将返回自身.parents()
会更安全。@Joseph被很好地发现了。然后使用.parent().closest('#someDiv')
@RobW错过了那个。我以为OP的意思是使用.on
或.delegate
。你是指孩子还是后代?你是指孩子还是后代?
$('yourElement').on('click',function(){
if(!$(this).parents('theDiv').length){
//not a child
}
});