Задать вопрос

Как узнать существует ли записанный в переменную элемент на странице?

Допустим есть div, внутри него глубоко спрятан span. Я нахожу span и присваиваю переменной. Затем
div.innerHTML='123'.
Как узнать что span-а записанного в переменную больше нет на странице, если он находится неизвестно на каком уровне? Можно циклом проверить parentNode, но возможно есть более правильный способ.
  • Вопрос задан
  • 175 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Как только вы переписали содержание элемента, свойство parentNode любого ребёнка, ранее находившегося в этом блоке, будет равно null.
Пример

Если элемент вложен в удаляемую ветку дерева (потомок), то parentNode вернёт ссылку на родителя в удалённой ветке, и самый простой способ проверить его нахождение в DOM — использовать Node.contains() (вернёт false).
Пример

Если хочется отслеживать изменение элемента вообще, то решение есть тут Как отловить создание нового IFrame на странице?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽