JavaScript. Подробное руководство, 6-е издание, стр. 204
15.3.1. Документы как деревья узлов
Объект
<b>Document</b><b>Element</b><b>Text</b><b>Node</b><b>Node</b><b>parentNode</b>Родительский узел данного узла или null для узлов, не имеющих родителя, таких как
<b>Document</b><b>childNodes</b>Доступный для чтения объект, подобный массиву (
<b>NodeList</b><b>firstChild, lastChild</b>Первый и последний дочерние узлы или null, если данный узел не имеет дочерних узлов.
<b>nextSibling, previousSibling</b>Следующий и предыдущий братские узлы. Братскими называются два узла, имеющие одного и того же родителя. Порядок их следования соответствует порядку следования в документе. Эти свойства связывают узлы в двусвязный список.
<b>nodeType</b>Тип данного узла. Узлы типа
<b>Document</b><b>Element</b><b>Text</b><b>Comments</b><b>DocumentFragment</b><b>nodeValue</b>Текстовое содержимое узлов
<b>Text</b><b>Comment</b><b>nodeName</b>Имя тега элемента
<b>Element</b>С помощью этих свойств класса
<b>Node</b><b>Document</b><b>document.childNodes[0].childNodes[1] </b><b>document.firstChild.firstChild.nextSibling</b>Допустим, что рассматриваемый документ имеет следующий вид:
<b><html><head><title>Test</title></head><body>Hello World!</body></html></b>Тогда вторым дочерним узлом первого дочернего узла будет элемент
<b><body>.</b><b>nodeType</b><b>nodeName</b>Однако, обратите внимание, что этот прикладной интерфейс чрезвычайно чувствителен к изменениям в тексте документа. Например, если в этот документ добавить единственный перевод строки между тегами
<b><html></b><b><head>,</b><b>Text</b><b><head>,</b><b><body></b>15.3.2. Документы как деревья элементов
Когда основной интерес представляют сами элементы документа, а не текст в них (и пробельные символы между ними), гораздо удобнее использовать прикладной интерфейс, позволяющий интерпретировать документ как дерево объектов
<b>Element</b><b>Text</b><b>Comment</b>Первой частью этого прикладного интерфейса является свойство
<b>children</b><b>Element</b><b>childNodes</b><b>NodeList</b><b>childNodes</b><b>children</b><b>Element</b><b>children</b>Обратите внимание, что узлы
<b>Text</b><b>Comment</b><b>Node.parentNode</b><b>Text</b><b>Comment</b><b>parentNode</b><b>Element</b><b>Element</b><b>Document</b><b>DocumentFragment</b>Второй частью прикладного интерфейса навигации по элементам документа являются свойства объекта
<b>Element</b><b>Node</b><b>firstElementChild, lastElementChild</b>Похожи на свойства
<b>firstChild</b><b>lastChild</b>