获取两个节点的共同父节点,可以包含本身(最简单方法 递归)

dom 节点查找

http://www.nowcoder.com/questionTerminal/74d74be449af4c66907fe2d6961c255c

function commonParentNode(oNode1, oNode2) {
let parent1 = oNode1.parentNode;
let parent2 = oNode2.parentNode;
if(parent1 === parent2){
return parent1
}else{
commonParentNode(parent1,parent2)
}
}

全部评论
let parent1 = oNode1.parentNode; let parent2 = oNode2.parentNode; 应该是这样的
1 回复 分享
发布于 2021-07-26 21:45
不行 不是同一层级的你这个执行甚至会有问题
6 回复 分享
发布于 2021-04-14 18:02
这样写如果两个节点不是同一层级的,那只能获取到最高父节点吧,拿不到最近父节点吧
6 回复 分享
发布于 2021-03-30 10:34
错误解析。。
3 回复 分享
发布于 2021-05-06 20:14
删了吧 起点不同,速度相同的查找,怎么可能会碰面呢 nowcode的测试用例也是**
2 回复 分享
发布于 2022-12-09 15:39 上海
这是个错误的,很简单,只需要举一个例子这个就过不了:假如oNode1就是oNode2的parentNode
1 回复 分享
发布于 2022-06-05 16:32
写的不对啊
1 回复 分享
发布于 2021-05-31 14:33
为什么是parent1.parent2,而不是parent1,parent2
1 回复 分享
发布于 2021-03-25 14:36
这个方法是两个节点元素的到父节点的层级距离是一模一样的情况下才行得通,只要其中一个节点元素多嵌套一个div元素啥的,就会报错,还有他少写了个return
点赞 回复 分享
发布于 2023-11-29 08:48 江西
明显糊弄人,要是让你通过了牛客才是瞎眼
点赞 回复 分享
发布于 2023-01-29 17:46 北京
你假设的情况,只有两节点位于同一等级,根本就是错的
点赞 回复 分享
发布于 2023-01-10 10:57 广东
根本不对,到null.parentNode还会报错
点赞 回复 分享
发布于 2021-11-16 15:44

相关推荐

评论
37
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务