contains:在js中只能判断一个dom元素中是否包含某个dom元素,返回布尔值。
<div id="parent">
<div id="child"></div>
</div>
const parentNode = document.querySelector('#parent');
const childNode = document.getElementById('child');
console.log(parentNode.contains(childNode)); // true
注意:js中的contains与java不同
let str = 'Hello,world!';
let str1 = 'world';
console.log(str.contains(str1)); // Uncaught TypeError: str.contains is not a function
一个简单的小例子
查找两个节点的最近的一个共同父节点,可以包括节点自身(oNode1 和 oNode2 在同一文档中,且不会为相同的节点)
function commonParentNode(oNode1, oNode2) {
for(;;oNode1=oNode1.parentNode){
if(oNode1.contains(oNode2)){
return oNode1;
}
}
}