一、题目
描述
查找两个节点的最近的一个共同父节点,可以包括节点自身
输入描述:
oNode1 和 oNode2 在同一文档中,且不会为相同的节点
二、实现
(1)方法一:使用contains
function commonParentNode(oNode1, oNode2) {
//判断一个节点以及它的父节点是否包含另一个节点。
while(true){
if(oNode1.contains(oNode2)){
return oNode1;
}
oNode1 = oNode1.parentNode;
}
}
(2)方法二: 递归
function commonParentNode(oNode1, oNode2) {
//判断一个节点以及它的父节点是否包含另一个节点。
let p1 = oNode1.parentNode;
let p2 = oNode2.parentNode;
if(p1 == p2){
return p1;
}else{
commonParentNode(p1,p2);
}
}
document.getElementById("item1").parentNode;
- 返回元素item1 的 parentNode(父节点);
- parentNode 属性以 Node 对象的形式返回指定节点的父节点;
- 如果指定节点没有父节点,则返回 null;