Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Установка наблюдателя MutationObserver (https://javascript.ru/forum/events/80974-ustanovka-nablyudatelya-mutationobserver.html)

voraa 28.09.2020 15:30

Вы наблюдатель ставите на элемент, который еще не существует.

var target = document.querySelector(".pkujhh > #mess"); // null !!!
observer.observe(target, config);

Нет его еще. Он только будет когда то создан и вставлен в body.

Наблюдатель ставят на элемент, В который будут что то вставлять.

DDim1000 28.09.2020 15:38

Цитата:

Сообщение от voraa (Сообщение 529301)
....
Наблюдатель ставят на элемент, В который будут что то вставлять.

А откуда я тогда узнаю, что появился именно тот элемент, появления которого я хочу отследить?

voraa 28.09.2020 15:42

Просматриваете все мутации
Если тип нужный (MutationRecord.type === "childList"), то в MutationRecord.addedNodes будет коллекция вставленных узлов. Перебираете ее и смотрите тот узел или не тот. По id или с помощью matches
https://developer.mozilla.org/en-US/...MutationRecord

var observer = new MutationObserver(function(mutations) { 
		mutations.forEach(function(mutation) {
                 if ( mutation.type ===  'childList')    {
                     mutation.addedNodes.forEach (addn => {
                             if (addn.id === 'mess') console.log('YES!!!')
                       })
                 }                         
		});
	});

var config = { attributes: true, childList: true, characterData: true };

	observer.observe(document.body, config);


Часовой пояс GMT +3, время: 09:53.