MutaionObserver

by Artem

HTML

<div id="some-id"></div>

JavaScript

'use strict';

// выбираем целевой элемент
var target = document.getElementById('some-id');

// создаём экземпляр MutationObserver
var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    console.dir(mutation);
  });
});

// конфигурация нашего observer:
var config = {
  attributes: true,
  childList: true,
  characterData: true,
  subtree: true
};

// передаём в качестве аргументов целевой элемент и его конфигурацию
observer.observe(target, config);


setTimeout(() => {
  const div = document.createElement('div');
  div.innerText = 'Outer';

  setTimeout(() => {
    const div2 = document.createElement('div');
    div2.innerText = 'Inner';
    div.append(div2);
  }, 2000);

  target.append(div);
}, 2000)