js判断一个dom中是否包含另一个dom的方法

Posted 小马不黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js判断一个dom中是否包含另一个dom的方法相关的知识,希望对你有一定的参考价值。

首先,比较原始(蠢)的方法

function isChildOf(child, parent) {
        if(child && parent) {
            let parentNode = child.parentNode;
            while(parentNode) {
                if(parent === parentNode) {
                    return true;
                }
                parentNode = parentNode.parentNode;
            }
        }
        return false;
    }

这里 while 中判断其实在实际情况我们应该换成我们要搜寻的上限的 dom,例如  while(parentNode === document.body) 即可。

当然,能省一行代码绝不多写一个字母才是我们这群懒人所需求的。

parent.contains(child)  // true | false

返回一个布尔值,判断当前 parent 下面是否包含 child,包含关系为开区间(及 parent === child 时也成立)。

以上是关于js判断一个dom中是否包含另一个dom的方法的主要内容,如果未能解决你的问题,请参考以下文章

如何监听dom元素的显示隐藏事件

分享一个js判断是否是dom对象的方法

Js Contains方法

js中如何判断一个DOM对象是否存在?

javascript判断对象是否为domElement

js中如何判断一个DOM对象是不是存在?