为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

小唯快跑啊 2019-09-20 16:43:50
如何检查一个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;

}


查看完整回答
反对 回复 2019-09-20
  • 3 回答
  • 0 关注
  • 379 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信