Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.
Доступный для чтения аттрибут 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
взамен.