首页 > 解决方案 > 如何在 TreeView 上按名称获取属性

问题描述

我有一个包含多个子节点的 html 元素。我想一直到最后一个 childNode 的第一个属性值。我不想以一种我定义静态字符串值的方式来实现它(比如一直给子节点名称等 4 次直到最后一个)来获得我想要的属性。有没有办法通过属性名称在子节点中搜索树?

html element 
   childNodes: NodeList[11]
      9: div#firstsection
       childNodes: NodeList[1]
         0: div#secondsection
          childnodes: NodeList[1]
           0: div#thirdsection
            childNodes: NodeList[5]
             0: div#finalsection

所以基本上,我想去最后一个有 5 个节点列表的 childNodes 并选择 [0] div#finalsection 并获取它的属性。

标签: javascripthtmlarraystypescripthtmlelements

解决方案


如果您要查找的元素的 ID 是唯一的,您可以像这样轻松访问它:

const myDiv = document.querySelector("div#finalsection");

您还可以按属性名称搜索,例如,如果您有

<div id="finalsection" data-my-attribute="test">Hello world</div>

那么你可以做

const myDiv = document.querySelector("div[data-my-attribute]");

推荐阅读