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をチェックし続けるようなやり方のほうが汎用的。