function commonParentNode(oNode1, oNode2) {
    
    while(1){
        oNode1 = oNode1.parentNode;
        if(oNode1.contains(oNode2)){
            return oNode1;
        }
    }
}

Node.contains()

Node.contains()方法返回一个布尔值,指示节点是否是给定节点的后代,即节点本身、其直接子节点之一 ( childNodes)、子节点的直接子节点之一,等等。