Hyubert
@Hyubert
JS

Почему не работает classList.containt к закрывающему тегу?

Доброй ночи.

Есть несколько елементов в контейнере
<div class="cont">
	<div class="box"></div>
	<div class="box"></div>
</div>

К которым применяеться проверка
if (!el.nextElementSibling.classList.contains('box'))

Но виводит ошибку
Uncaught TypeError: Cannot read property 'classList' of null


в отладке наблюдаю el.nextElementSibling = null , но понять почему закривающый тег = null не могу. Помогите пожалуйста.
  • Вопрос задан
  • 396 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
но понять почему закривающый тег = null не могу

The NonDocumentTypeChildNode.nextElementSibling read-only property returns the element immediately following the specified one in its parent's children list, or null if the specified element is the last one in the list.
Источник: MDN nextElementSibling

Коротко и на пальцах: у второго элемента .box нет "следующего соседа".
Закрывающий </div> - вообще-то не самостоятельный элемент, а часть родительского .cont

Если хотите к нему обратиться, можно использовать el.parentNode или el.closest('.cont')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Sayonji
Если вам нужен родитель, используйте el.parentNode. В документе нет понятия "закрывающий тег", там есть дерево элементов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы