Перезагрузить / обновить sh DOM новыми элементами, созданными после события - PullRequest
0 голосов
/ 13 июля 2020

Я хочу получить доступ к элементам, которые были созданы после какого-то события. Эти элементы отсутствовали в исходной модели DOM.
Например -

var inputs = document.getElementsByClassName('some class name');
//do some event to open a new div popup
var newInput = document.getElementsByClassName('new class name in the new div popup');

Теперь, как мне получить доступ к newInput?
Если я ничего не сделаю, это будет undefined. Если я смогу как-то перезагрузить / обновить sh DOM, тогда я смогу получить доступ к этим новым элементам.

location.reload(); не будет работать, потому что он обновит sh всю страницу и все мои предыдущие значения будут потеряны, например inputs

Новый div добавляется при нажатии кнопки.

Перед событием щелчка:

<div class="some class name"></div>

После события щелчка :

<div class="some class name"></div>
<div class="new class name in the new div popup"></div>

1 Ответ

1 голос
/ 13 июля 2020

Вы можете использовать MutationObserver для наблюдения за определенным c элементом DOM и выполнения logi c, если выполняется условие в MutationObserver: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver

Простыми словами :

  1. Обратите внимание, например, на «родительский» элемент, который «получает» элементы DOM, на которые вы хотите нацелить
  2. MutationObserver будет запускаться всякий раз, когда будут вставлены ваши новые элементы, и позволит вам запустить пользовательский код, основанный на этом
  3. Если вам не нужно продолжать наблюдение за элементами с помощью MutationObserver после его использования, вы также можете отключить Observer.
...