Резюме:
A NodeList
объект - это структура данных, которая представляет собой набор узлов. Узлами в контексте DOM могут быть следующие вещи:
- Сам документ
- элементы DOM (т.е. элементы HTML / SVG)
- Текст
- комментарии
A NodeList
является , а не массивом, однако NodeList
является повторяемой структурой данных, что означает, что мы можем перебирать значения (т. Е. Элементы узла), используя for..of
петля. Кроме того, есть несколько полезных функций для прототипа NodeList
, которые делают работу с ними более удобной.
* +1025 * Пример:
const parent = document.querySelector('.parent');
const myNodeList1 = parent.childNodes; // this property is a Nodelist
console.log(myNodeList1 instanceof NodeList);
const myNodeList2 = document.querySelectorAll('.foo'); // this method returns a Nodelist
console.log(myNodeList2 instanceof NodeList);
// looping over the items of a nodelist
for (let el of myNodeList2) {
el.innerHTML = 'hi';
}
// getting the length of a nodeList
console.log(myNodeList2.length);
<div class="parent">
<div class="foo"></div>
<div class="foo"></div>
</div>
Вот как Nodelist
выглядит в браузере (chrome) devtools:
![enter image description here](https://i.stack.imgur.com/DPklJ.png)
Вы можете получить доступ к элементам NodeList
со следующими обозначениями:
myNodelist[0]; // grabs the first item of the NodeList
Потому что вы просто значение свойства объекта, использующего ключ. В этом примере ключом свойства было число ноль, а значением - элемент DOM.