JS41 dom 节点查找
查找两个节点的最近的一个共同父节点
题目描述 查找两个节点的最近的一个共同父节点,可以包括节点自身 输入描述: oNode1 和 oNode2 在同一文档中,且不会为相同的节点
解题思路:判断一个节点以及它的父节点是否包含另一个节点。
function commonParentNode(oNode1, oNode2) {
while(true){
oNode1 = oNode1.parentNode;
if(oNode1.contains(oNode2)){
return oNode1;
}
}
}
两边找
function commonParentNode(oNode1, oNode2) {
let parentNode1 = oNode1.parentNode;
let parentNode2 = oNode2.parentNode;
while(true){
if(parentNode1.contains(oNode2)){
return parentNode1;
}
if(parentNode2.contains(oNode1)){
return parentNode2;
}
parentNode1 = parentNode1.parentNode;
parentNode2 = parentNode2.parentNode;
}
}