JavaScript HTML DOM Список узлов
Объект HTML DOM NodeList
Объект NodeList - это список (набор) узлов, извлеченных из документа.
Объект NodeList почти такой же, как объект HTMLCollection.
Некоторые (более старые) браузеры возвращают объект NodeList вместо HTMLCollection для таких методов, как getElementsByClassName().
Все браузеры возвращают объект NodeList для свойства childNodes.
Большинство браузеров возвращают объект NodeList для метода querySelectorAll().
Следующий код выбирает все узлы <p> в документе:
Пример
const myNodeList = document.querySelectorAll("p");
Доступ к элементам в NodeList можно получить по порядковому номеру.
Чтобы получить доступ ко второму узлу <p>, можно написать:
myNodeList[1]
Попробуйте сами »
Примечание: Индекс начинается с 0.
Длина списка узлов HTML DOM
Свойство length определяет количество узлов в списке узлов:
Свойство length полезно, когда вы хотите перебрать узлы в списке узлов:
Пример
Изменить цвет всех элементов <p> в списке узлов:
const myNodelist = document.querySelectorAll("p");
for (let i = 0; i < myNodelist.length; i++) {
myNodelist[i].style.color = "red";
}
Попробуйте сами »
Различия между HTMLCollection и NodeList
HTMLCollection (предыдущая глава) - это набор элементов HTML.
NodeList представляет собой набор узлов документа.
NodeList и коллекция HTML - это во многом одно и то же.
И объект HTMLCollection, и объект NodeList представляют собой список (коллекцию) объектов в виде массива.
У обоих есть свойство length, определяющее количество элементов в списке (коллекции).
Оба предоставляют индекс (0, 1, 2, 3, 4, ...) для доступа к каждому элементу как к массиву.
Доступ к элементам HTMLCollection можно получить по их имени, идентификатору или номеру индекса.
Доступ к элементам NodeList можно получить только по их порядковому номеру.
Только объект NodeList может содержать узлы атрибутов и текстовые узлы.
Список узлов - это не массив!
Список узлов может выглядеть как массив, но это не так.
Вы можете прокручивать список узлов и обращаться к его узлам как к массиву.
Однако вы не можете использовать методы массива, такие как valueOf(), push(), pop() или join() в списке узлов.

