观察 DOM 元素,并在检测到更改时触发回调

使用方式

1.首先创建一个观察器

const observer = new MutationObserver( callback )

2.然后让它观察一个 DOM 节点

observer.observe( targetNode, config )

config 是一个具有布尔选项的对象,该布尔选项表示“将对哪些更改做出反应”

3.写回调函数

表明发生变化时执行什么操作,如:

const callback = function (mutationsList, observer) {
  for (let mutation of mutationsList) {
    if (mutation.type === "childList") {
      console.log("A child node has been added or removed.")
    } else if (mutation.type === "attributes") {
      console.log("The " + mutation.attributeName + " attribute was modified.")
    }
  }
}

Tip

观察一个 DOM 节点是弱引用,不会阻止它被垃圾回收