offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsPmNdInr 391 of 503 menu

Работа с узлами в JavaScript

Как вы знаете, теги могут содержать другие теги или, говоря в терминах JavaScript, DOM элементы могут содержать другие DOM элементы. Кроме этого, однако, в них могут быть комментарии и обычный текст. Комментарии, тексты и DOM элементы объединяют одним названием - узлы.

Вам уже знакомы свойства firstElementChild, lastElementChild, nextElementSibling, previousElementSibling. Эти свойства работают именно с DOM элементами, игнорируя остальные узлы. Как правило, именно это нам и требуется.

Однако, существуют также свойства firstChild, lastChild, nextSibling, previousSibling. Эти свойства работают аналогичным образом, однако, учитывая все узлы. Давайте посмотрим разницу между этими свойствами на примере. Пусть у нас есть див, содержащий в себе три узла:

<div id="elem"><!--сomm-->text<span>tag</span></div>

Получим ссылку на этот див в переменную:

let elem = document.querySelector('#elem');

А теперь давайте посмотрим, что содержится в свойствах firstChild и firstElementChild:

console.log(elem.firstChild); // комментарий console.log(elem.firstElementChild); // тег span

Напишите код, который покажет разницу между lastChild и lastElementChild.

Напишите код, который покажет разницу между nextSibling и nextElementSibling.

Напишите код, который покажет разницу между previousSibling и previousElementSibling.

enru