乐趣区

关于javascript:Nodecontains返回的是一个布尔值来表示传入的节点是否为该节点的后代节点

前景介绍:
  • 刷题记录: 题目

    • 查找两个节点的最近的一个独特父节点,能够包含节点本身

本人的思路是先固定一个元素, 找到这个递归找到这个元素的所有的下级父元素存在一个数组中, 再递归查找元素 2 的父元素在不在这个数组中, 然而想着实现过于麻烦, 且性能不是很好, 于是就翻看了题库其余大神的解析过程, 真是打击到自尊心了, 感觉还是要多学习, 多看, 多理解, 可能简略的一个 API 就能够解决你的问题, 然而在你不晓得的状况下, 你就是没有方法解决问题, 或者是要比他人多走很多的弯路, 所以肯定要尽可能多的理解接触新的常识.

// 题目: 查找两个节点的最近的一个独特父节点,能够包含节点本身(前提 node1 和 node2 不会是同一个元素)

function commonParentNode(oNode1, oNode2) {if(oNode1.contains(oNode2)){return oNode1;}else{return commonParentNode(oNode1.parentNode, oNode2)
    }
}

剖析:

contains

oNode1.contains(otherNode) 的后果是一个布尔值, 示意传入的节点是否为该节点的 后辈 节点
otherNode 如果是 oNode1 的后辈节点或者是 oNode1 自身返回 true , 否则返回 false;

退出移动版