猿问

如果一个元素包含在另一个元素中,如何检入Javascript

如何检查一个DOM元素是否是另一个DOM元素的子元素?这有什么内置的方法吗?例如,类似于:


if (element1.hasDescendant(element2)) 

要么


if (element2.hasParent(element1)) 

如果没有那么任何想法如何做到这一点?它还需要跨浏览器。我还应该提到,孩子可以嵌套在父母以下的许多级别。


小唯快跑啊
浏览 382回答 3
3回答

慕勒3428872

使用该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;}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答