Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
Здравствуйте!
Подскажите пожалуйста, из-за чего возникает эта ошибка?: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'. $("#genul").click(function() { $('#myD').append('<ul><li>Это наш текст, который при определенных условиях отобразится в блоке</li></ul><br /><a class="genli" href="#">Добавить элемент список - li</a>'); $("#genul").remove(); }); $("#myD").on("click", ".genli",function(e) { $('#myD > ul').append('<li>Это наш текст, который при определенных условиях отобразится в элементи li</li>'); }); var target = document.querySelector("#myD > ull"); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { alert("Сработало!"); }); }); var config = { attributes: true, childList: true, characterData: true }; observer.observe(target, config); |
Цитата:
|
Цитата:
|
у вас ull
|
Цитата:
Пожалуйста, посмотрите код в онлайн-редакторе, что я не правильно делаю?: https://jsfiddle.net/x597jqu1/112/ Нужно чтобы срабатывал alert при добавлении ul и li |
DDim1000,
у вас в #myD пусто, поэтому так var target = document.querySelector("#myD"); |
DDim1000,
перенесите строки 9 и 17 в строку 3 |
Цитата:
|
DDim1000,
вам по сути MutationObserver нафик не нужен |
А как сделать?
|
alert("Сработало!");
перенесите в обработчик, эффект будет тоже самый! |
Цитата:
Смотрите какая ситуация, на сайте комментарии добавляются через ajax, и выводится на страницу без перезагрузке. Мне нужно отследить не момент отправке, а момент вывода нового комментария. |
не совсем понимаю проблему у ajax есть для этого все необходимое
|
Вот, пример этот форум, здесь "Быстрый ответ" выводится на страницу без перезагрузки.... Как отследить появления поста на страницы?
|
Цитата:
|
DDim1000,
отслеживаете на чужом сайте? |
Просто нужно отследить добавления li, все!
|
Цитата:
|
DDim1000,
тогда нужен MutationObserver, надо было с это и начинать что что сайт не ваш |
Цитата:
var target = document.querySelector("#myD > ul"); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { alert("Сработало!"); }); }); var config = { attributes: true, childList: true, characterData: true }; observer.observe(target, config); Если Вам не тяжеля, пожалуйста настройте, или подскажите что исправить?: https://jsfiddle.net/x597jqu1/112/ |
|
DDim1000,
я уже говорил var target = document.querySelector("#myD"); отслеживайте у родителя, вы пытаетесь получить несуществующий элемент childList: true как раз для этого и нужен или делегируйте событие |
Всем большое спасибо!
|
Часовой пояс GMT +3, время: 11:59. |