私はMutationObserver(またはこの時点で何か他のもの)を使用してテーブルの変更をリスンしたいと思っています。検索を通して濾過(表示または非表示に<tr>
-elementをトグルする) テーブルの行が変更されているかどうかをチェック
<tr>
を削除
- :私
table -> tbody -> tr
要素は、以下のような様々な方法で変更することができます-elements
MutationObserverを使用することで、テーブルの変更を確認できます。これは、要素を削除すると(子リストとサブツリーが変更されるため)機能しますが、要素の属性が変更されたときにはトリガーしません。
var observer = new MutationObserver(function(mutations, observer) {
updateTable();
});
observer.observe(document.querySelector('#reports'), { childList: true, characterData: true, subtree: true });
私のHTML::ここに私の観察者のそれはtable -> tbody -> tr
-element背景を更新します。
<table id="reports">
<thead>........
<tbody>
<tr><td>Stuff here 1</td></tr>
<tr><td>Stuff here 2</td></tr>
<tr><td>Stuff here 3</td></tr>
</tbody>
</table>
マイupdateTable()
機能は非常に単純です。つまり、オブザーバーで属性の変更を確認すると、無限ループになります。
ああ、誰かが
<tr>
要素を隠してしまったことを意味します。背景を変えよう。ああ、誰かが背景を変えた!背景を変えさせてください。ああ見て! ....無限ループ
どうすればよいですか?ありがとう
のために働くなら、私に知らせて、私はちょうど私が(など、追加、削除、選択する)必要があり、それは非常にやり過ぎであるすべてのイベントに ')' updateTableを(スローする可能性。 – MortenMoulder
このhttps://developer.mozilla.org/en/docs/Web/API/MutationObserverによれば、突然変異観測者のためにいくつかの構成を設定することができます。標的の属性を明らかに観察するものがあります。あなたはそれを試しましたか? –
私は{attributes:true} –