这里使用parentNode好?还是parentElement好?

作者站长头像
站长
· 阅读数 15

这里使用parentNode好?还是parentElement好?

这是bootstrap中的一段代码,用来查找一个元素的祖先元素中所有匹配selector的元素。我觉的应该使用parentElement更合适一些。

  • closetElement上一的一个方法。
  • 要查找的应该是Element,而不是像Text,Comment这样的Node

当然这里使用parentNode也是可行的,一般会返回一个Elment,因为可以包含其他元素的一般都是Element

// bootstrap/js/src/dom/selector-engine.js
  parents(element, selector) {
    const parents = []
    let ancestor = element.parentNode.closest(selector)

    while (ancestor) {
      parents.push(ancestor)
      ancestor = ancestor.parentNode.closest(selector)
    }

    return parents
  },
回复
1个回答
avatar
test
2024-06-23

主要是还可能是这个吧。

parentNode 是指定节点的父节点。一个元素节点的父节点可能是一个元素(Element)节点,也可能是一个文档(Document)节点,或者是个文档碎片(DocumentFragment)节点。

answer image

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容