https://developer.mozilla.org/ja/docs/Web/API/MutationObserver
MutationObserver は、指定したコールバック関数を DOM の変更時に実行してくれる標準オブジェクト。
DOM仕様に含まれている。
// オブザーバインスタンスを作成
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
console.log(mutation.type);
});
});
// 対象ノードとオブザーバの設定を渡す
observer.observe(
document.querySelector(".item"),
{ attributes: true, childList: true }
);
// 後ほど、監視を中止
observer.disconnect();ただしこれは「何が」「どう操作されたか」しか判らないので、例えばclassに何かが追加されて要素が非表示になった場合でも「class属性が変化した」という情報しか取れず、要素が消えたことを直接判定はできない。
greasemonkeyとかで使うなら、やっぱりsetIntervalで要素のelement.style.displayをチェックし続けるようなやり方のほうが汎用的。