题目描述
查找两个节点的最近的一个共同父节点,可以包括节点自身
输入描述:
oNode1 和 oNode2 在同一文档中,且不会为相同的节点
function isChild(oNode,pNode) {
var children = pNode.childNodes();
for(var i =0 ;i<children.length;i++){
if(children[i].childNodes.length>0){
isChild(children[i],oNode);
}
if(oNode = children[i]){
return true;
}
}
return false;
}
function commonParentNode(oNode1, oNode2 ){
if(isChild(oNode1,oNode2)){
return oNode2;
}else if (isChild(oNode2,oNode1)){
return oNode1;
}else {
var commonParent = oNode2.parentNode;
while (commonParent!=document){
if (isChild(oNode1,commonParent)){
return commonParent;
}
commonParent=commonParent.parentNode;
}
return document;
}
}