【问题标题】:How to get attribute by name on TreeView如何在 TreeView 上按名称获取属性
【发布时间】:2019-12-10 02:53:48
【问题描述】:

我有一个包含多个子节点的 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 并获取它的属性。

【问题讨论】:

  • 为什么你不能使用它的 ID 访问div#finalsection,它应该是唯一的?你有避免 CSS 选择器样式查找的实际原因吗?
  • 是的,但我将如何实现这一点,id 处于相当低的水平。 @TomášZato

标签: javascript html arrays typescript htmlelements


【解决方案1】:

如果您要查找的元素的 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]");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 2010-10-14
    • 2017-05-04
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多