题解 | #dom 节点查找#
dom 节点查找
https://www.nowcoder.com/practice/74d74be449af4c66907fe2d6961c255c
思路:固定oNode2不变,不断向上查找oNode1,直至找到两个节点的公共祖先节点。首先使用A.contains(B)方法判断oNode1是否是oNode2的祖先节点,如果是则直接返回oNode1,反之使用递归方法查找oNode1的父节点oNode1.parentNode和oNode2的公共祖先节点。
function commonParentNode(oNode1, oNode2) { //n1.contains(n2)用于判断n1是否是n2的祖先节点 if(oNode1.contains(oNode2)) return oNode1 //n.parentNode用于求解n的父节点 else return commonParentNode(oNode1.parentNode,oNode2) }
总结:n1.contains(n2)用于判断n1是否是n2的祖先节点;n.parentNode用于求解n的父节点。
#dom节点查找#前端js面试 文章被收录于专栏
前端js面试,帮助你更好的理解js。