首页 > 代码库 > javascript中的元素包含判断
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中的元素包含判断
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。