Как узнать, появился ли элемент на странице?

После загрузки страницы, некий скрипт, к которому нет доступа, подгружает ajax-ом элементы в контейнер.
Нужно добавить к этим подгружаемым элементам html код. Непонятно, какое нужно использовать событие, чтобы узнать, когда появились элементы в контейнере.
  • Вопрос задан
  • 1047 просмотров
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Отслеживаем появление нового узла внутри целевого узла Как отловить создание нового IFrame на странице?
Отслеживаем изменение атрибутов Как отследить появление класса у элемента?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
$(function() {

    foo();

    function foo() {
        var elems = $('.youclass').length();
        if (elems) {
            console.log('Element IS!');
        } else {
            foo();
        }
    }
});
Ответ написан
@nicenice Автор вопроса
Решил проблему так:

$(function() {

    var loaded = false;

    var target = document.querySelector('#containerWhereLooking');
    var innerElement = 'idNewElements';

    var observer = new MutationObserver(function (mutations) {
        mutations.forEach(function (mutation) {
          for (var i = mutation.addedNodes.length; i--;) {
            if (mutation.addedNodes[i].id == innerElement) {
                workerWithNewElement();
                loaded = true;
                break;
            }
          }
          if (loaded)
            observer.disconnect();
        });    
    });

    var config = { attributes: true, childList: true, characterData: true }
     
    observer.observe(target, config);

    var workWithNewElements = function () {
        // work work work ...
    };
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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