contains()方法用于检测某个节点是不是另一个节点的后代。调用contains()方法的应该是祖先节点,这个方法接收一个参数,即要检测的后代节点。如果被检测的节点是后代节点返回true
;否则返回false
。以下是一个例子:
aler(document.documentElement.contains(document.body)); //true
这个例子测试了<body>
元素是不是<html>
元素的后代,在正确的HTML页面中,以上代码返回true
。
这里随便写一下在牛客网刷到的相关的题:
题目是:在同一文档中,查找两个不相同节点的最近的一个共同父节点,可以包括节点自身
function commonParentNode(node1, node2) {
if(node1.contains(node2)){
return node1;
} else {
return commonParentNode(node1.parentNode, node2);
}
}