Получение ссылки на элемент, наблюдаемый с помощью MutationObserver

Я использую MutationObservers для наблюдения за изменениями, происходящими с несколькими узлами DOM (в основном добавление к их поддеревьям или удаление узлов в целом).

Наблюдатель работает нормально, потому что я использую subtree вариант. Единственная проблема в том, что я не могу получить ссылку на родительский элемент, к которому прикреплен наблюдатель мутации.

const mutationObserver = new MutationObserver(mutationRecords => {
  mutationRecords.forEach(mutationRecord => {
    const addedNodesLength = mutationRecord.addedNodes.length;
    for (let i = 0; i < addedNodesLength; i++) {
      const node: Element = mutationRecord.addedNodes[i];
      // I need to check the parent of node that is being observed
    }
  });
});

Я искал MDN, и я не могу найти какую-либо ссылку, если это возможно. Есть идеи, если это можно сделать?

1 ответ

mutationRecord.target дает вам родительский элемент, по крайней мере, в соответствии с этим

Я протестировал его только на Firefox, но, похоже, он работает.

Это должно сделать это:

const observer = new MutationObserver(function(mutationsList, observer){
  for(let mutation of mutationsList){
    console.log(mutation.target);
  }
});
Другие вопросы по тегам