Для получения дочерних элементов в JavaScript существует две возможности: .childNodes и .children.
- .childNodes является свойством Node. Это свойство имеют все узлы дерева.
- .children является свойством Element. Данное свойство имеют только элементы типа Element и все возвращаемые значения точно такого же типа.
К примеру есть у нас менюшка, в которую нужно добавить класс active
.
<ul class="nav" id="sidebar-menu">
<li>
<a href="http://nonamez.name">
<i class="glyphicon glyphicon-home"></i>
<span class="hidden-xs">Sites</span>
</a>
</li>
</ul>
Цепляем его по ID и смотрим результат:
document.getElementById('sidebar-menu').childNodes
вернёт
NodeList[
document.getElementById('sidebar-menu').children
вернёт
HTMLCollection[li]
Как видим в первом варианте нам возвращает массив элементов с текстовым контентом вокруг него, во втором только массив элементов.