首页 > 试题广场 >

dom 节点查找

[编程题]dom 节点查找
  • 热度指数:52266 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
查找两个节点的最近的一个共同父节点,可以包括节点自身

输入描述:
oNode1 和 oNode2 在同一文档中,且不会为相同的节点

头像 前端小帅
发表于 2021-03-11 10:58:04
function commonParentNode(oNode1, oNode2) { let parent1 = oNode1.parentNode; let parent2 = oNode2.parentNode; if(parent1 === parent2){ 展开全文
头像 紫荷雪
发表于 2021-01-19 09:18:11
题目描述     查找两个节点的最近的一个共同父节点,可以包括节点自身 输入描述:     oNode1 和 oNode2 在同一文档中,且不会为相同的节点 解题思路:判断一个节点以及它的父节点是否包含另一个节点。 展开全文
头像 牛客994207367号
发表于 2021-06-30 23:24:31
固定一个Dom不动,让另一个节点不断往上找,直到遇到一个父节点能够包含另一个节点为止,这里用递归更加方便理解~ function commonParentNode(oNode1, oNode2) { if(oNode1.contains(oNode2)){ return oNode1; } 展开全文
头像 agul
发表于 2021-06-02 13:36:44
function commonParentNode(oNode1, oNode2) { while (true) { if (oNode1.contains(oNode2)) return oNode1 oNode1 = oNode1. 展开全文
头像 牛客502634098号
发表于 2021-11-26 10:10:00
首先判断两个DOM是否有一方包含另一方,如果包含直接返回当前节点 如果不包含,说明两个DOM在,DOM树的不同分支,所以取任一节点的父节点去判断是否包含另一个节点,如果包含返回当前节点,如果不包含,就继续向上找,直到找到结果为止 function commonParentNode(oNode1, o 展开全文
头像 JZZZZZZZZZZZ
发表于 2021-07-18 17:08:59
递归法找到最近的公共父节点 function commonParentNode(oNode1, oNode2) { return recur_find(oNode1.parentNode,oNode2.parentNode) function recur_find(parent1 展开全文
头像 婕妤
发表于 2021-07-23 16:20:26
查找第二个节点是否是第一个节点的子节点,不停找节点1的父节点,直到父节点包含节点2,则该节点为离两个节点最近的共同父节点 function commonParentNode(oNode1, oNode2) {     whil 展开全文
头像 呼伦湖
发表于 2021-08-18 17:47:09
很简单,用contains()方法 function commonParentNode(oNode1, oNode2) { while (true) { oNode1 = oNode1.parentNode; // Node.contains(): 一个节点是否是给定节点的子节点 展开全文
头像 SeanGXY
发表于 2022-05-08 17:51:07
function commonParentNode(oNode1, oNode2) { let arr1 = [oNode1]; let arr2 = [oNode2]; let DOM1 = oNode1.parentNode; le 展开全文
头像 倪风
发表于 2022-11-27 18:24:02
function commonParentNode(oNode1, oNode2) { let parent1 = oNode1.parentNode if (parent1.contains(oNode2)) { return parent1 } c 展开全文