Как получить атрибут по имени в 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 узлов, выбрать раздел [0] div # final и получить его атрибут.


person dicle    schedule 01.08.2019    source источник
comment
Почему вы не можете просто получить доступ к div#finalsection, используя его идентификатор, который должен быть уникальным? Есть ли у вас практическая причина избегать поиска в стиле селектора CSS?   -  person Tomáš Zato - Reinstate Monica    schedule 01.08.2019
comment
да, но как мне этого добиться, идентификатор находится на довольно низком уровне. @ТомашЗато   -  person dicle    schedule 02.08.2019


Ответы (1)


Если идентификатор искомого элемента уникален, вы можете легко получить к нему доступ следующим образом:

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

Вы также можете искать по имени атрибута, например, если у вас есть

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

тогда вы можете сделать

const myDiv = document.querySelector("div[data-my-attribute]");
person Tomáš Zato - Reinstate Monica    schedule 02.08.2019