题目描述
查找两个节点的最近的一个共同父节点,可以包括节点自身
输入描述:
oNode1 和 oNode2 在同一文档中,且不会为相同的节点
function commonParentNode(oNode1, oNode2) { if(oNode1.contains(oNode2)) { return oNode1; } else if(oNode2.contains(oNode1)) { return oNode2; } else { return arguments.callee(oNode1.parentNode,oNode2); } }
可以包含节点自身是关键
arguments.callee:
arguments.callee属性包含当前正在执行的函数。(可以理解为递归 再次调用了commonParentNode)
描述
callee
是 arguments
对象的属性。在该函数的函数体内,它可以指向当前正在执行的函数。当函数是匿名函数时,这是很有用的, 比如没有名字的函数表达式 (也被叫做"匿名函数")。