oNode1 和 oNode2 在同一文档中,且不会为相同的节点
function commonParentNode(oNode1, oNode2) {
var on1_parents = getParents(oNode1);
var on2_parents = getParents(oNode2);
var i = on1_parents.length;
var j = on2_parents.length;
for(; i >= 0 && j >= 0 && on1_parents[i] === on2_parents[j]; i--, j--);
return on1_parents[i+1];
}
function getParents(oNode) {
var parents = [];
var parent = oNode;
while(parent) {
parents.push(parent);
parent = parent.parentElement;
}
return parents;
}