Статьи

childNodes (свойство W3C DOM Core)

пример

var kids = node.childNodes;

В приведенном выше примере дети будут коллекцией всех прямых дочерних узлов узла . Если узел не имеет дочерних узлов, тогда дети будут пустой коллекцией (с нулевой длиной). Возвращенная коллекция является действующей , что означает, что изменения в HTML-коде, который она представляет, немедленно отражаются в коллекции без необходимости извлекать ее снова.

Поэтому, если мы говорим, что узел на самом деле является HTML-элементом ul

  <UL>
   <li> В основном установлен в 1955 году <em> (часть 1) </ em> </ li>
   <li> В основном установлен в 2015 году <em> (часть 2) </ em> </ li>
   <li> В основном установлен в 1885 году <em> (часть 3) </ em> </ li>
 </ UL> 

Каждый из этих элементов liulchildNodes02 Элементы emпотомками , а не дочерними элементами).

Примечание: этот пример не учитывает пробелы

На самом деле этот пример идеализирован, и в некоторых браузерах на самом деле могут быть дополнительные узлы в коллекции childNodes это связано с тем, что некоторые браузеры считают промежуточные пробелы текстовыми узлами и поэтому считают каждый кусок пробела между структурными узлами текстовым узлом.

Подробнее об этом поведении смотрите в DOM Core .

Описание

Коллекция childNodes представляет собой упорядоченный список всех прямых дочерних узлов этого узла; если нет дочерних узлов, то эта коллекция пуста (имеет нулевую длину). Коллекция childNodes представляет собой NodeList , в котором элементы индексируются численно и отображаются в исходном порядке.

Как и во всех списках узлов, childNodes — это живая коллекция, что означает, что изменения в представляемой коллекции немедленно отражаются в списке узлов (в отличие от статического снимка).

Атрибуты элемента не считаются дочерними узлами и, следовательно, не отображаются в коллекции childNodes2

Эта коллекция только для чтения.

Коллекция не является массивом

Несмотря на то, что коллекция выглядит как массив, она не является массивом — хотя вы можете перебирать ее и ссылаться на ее элементы как массив, вы не можете использовать методы Array, такие как push или pop для нее.