如何检查一个DOM元素是否是另一个DOM元素的子元素?这有什么内置的方法吗?例如,类似于:if (element1.hasDescendant(element2)) 要么if (element2.hasParent(element1)) 如果没有那么任何想法如何做到这一点?它还需要跨浏览器。我还应该提到,孩子可以嵌套在父母以下的许多级别。
3 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
使用该parentNode属性应该工作。从跨浏览器的角度来看,它也非常安全。如果知道这种关系是一个深度,你可以简单地检查它:
if (element2.parentNode == element1) { ... }
如果孩子可以在父母内部任意深度嵌套,你可以使用类似于以下的函数来测试关系:
function isDescendant(parent, child) {
var node = child.parentNode;
while (node != null) {
if (node == parent) {
return true;
}
node = node.parentNode;
}
return false;
}
添加回答
举报
0/150
提交
取消