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中的元素包含判断的主要内容,如果未能解决你的问题,请参考以下文章