javascript中的元素包含判断

Posted 初学者学习笔记

tags:

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

在实际开发中,很多时候需要知道某个节点是不是另一个节点的后代。很多浏览器提供了contains方法,如:

console.log(document.documentElement.contains(document.body));//输入ture

DOM3提供的compareDocumentPosition方法也可以判断元素位置关系,结果如下:

1  无关

2  居前

4  居后

8  包含

16  被包含

因此跨浏览器的contains写法如下:

function contains(refNode,otherNode){
    if(typeof refNode.contains ===function){
        return refNode.contains(otherNode);
    }else if(typeof refNode.compareDocumentPosition ===function){
        return !!(refNode.compareDocumentPosition(otherNode)&16);
    }else{
        var node=otherNode.parentNode;
        do{
            if(node===refNode){
                return true;
            }
        }while(parentNode!=null);
        return false;
    }
}

 

以上是关于javascript中的元素包含判断的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript判断数组是否包含指定元素的方法

执行AJAX返回HTML片段中的JavaScript脚本

javascript常用代码片段

js怎么判断某个数组里面是不是包含这个元素

JavaScript单行代码,也就是代码片段

javascript/jquery怎么判断所点击元素是其父元素中的第几个子元素?