Node.childNodes
Доступный для чтения аттрибут Node.childNodes
возвращает коллекцию дочерних элементов данного элемента.
Синтаксис
var ndList = elementNodeReference.childNodes;
ndList — упорядоченная коллекция объектов элементов, которые являются детьми данного элемента. Если у элемента нет детей, ndList пуст.
ndList — переменная, хранящая список дочерних элементов. Тип этого списка — NodeList
.
Пример
// parg -- ссылка на элемент <p>
if (parg.hasChildNodes()) {
// Таким образом, сначала мы проверяем, не пуст ли объект, есть ли у него дети
var children = parg.childNodes;
for (var i = 0; i < children.length; ++i) {
// сделать что-то с каждым внутренним элементом через children[i]
// ПРИМЕЧАНИЕ: Список является ссылкой, Добавление или удаление дочерних элементов изменит список
}
}
// Это один из способов удалить все дочерние элементы из элемента
// box -- ссылка на элемент с детьми
while (box.firstChild) {
//Список является ссылкой, то есть он будет переиндексирован перед каждым вызовом
box.removeChild(box.firstChild);
}
Примечания
Элементы в коллекции — объекты, а не строки. Чтобы получить данные из этих объектов, вы должны использовать их свойства (например, elementNodeReference.childNodes[1].nodeName
чтобы получить имя, и т. д.).
Объект document
обладает 2-мя детьми: декларацией Doctype и корневым элементов, к которому как правило обращаются как documentElement
. (В (X)HTML документах это HTML-элемент.)
childNodes
также включают, например, текстовые узлы и комментарии. Чтобы пропустить их, используйте ParentNode.children
взамен.
Спецификации
Specification |
---|
DOM Standard # ref-for-dom-node-childnodes① |
Совместимость с браузерами
BCD tables only load in the browser