JavaScript 查找两个节点的最近的一个共同父节点, 可以包括节点自身

//oNode1 和 oNode2 在同一文档中,且不会为相同的节点
 
function commonParentNode(oNode1, oNode2) {
    
    //oNode1为全局变量
    //条件为oNode1.contains(oNode2)
    //每一次oNode1 = oNode1.parentNode
    for (;;oNode1 = oNode1.parentNode) {
        
        if (oNode1.contains(oNode2)) {
            return oNode2;
        }                                    
    }
    
    //递归法
    /*
    if (oNode1.contains(oNode2)) {
        return oNode1;
    } else {
        return commonParentNode(oNode1.parentNode, oNode2);
    }
    */
}

猜你喜欢

转载自blog.csdn.net/AS_Tammy/article/details/88085077