DOM MutationObserver - реагирование на изменения DOM без снижения производительности браузера

// Выбор целевого узла
var target = document.querySelector('#some-id');

// Создание экземпляра наблюдателя
var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        console.log(mutation.type);
    });
});

// Конфигурация наблюдателя
var config = { attributes: true, childList: true, characterData: true }

// Передача целевого узла и параметров наблюдателя
observer.observe(target, config);

// Позже можно прекратить наблюдение
observer.disconnect();