获取对使用 MutationObserver 观察的元素的引用
Getting reference to element being observed with 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,但如果可能的话,我找不到任何参考资料。知道这是否可以做到吗?
mutationRecord.target
给你父元素,至少根据 this
我只在 Firefox 上测试过它,但它似乎可以正常工作。
应该这样做:
const observer = new MutationObserver(function(mutationsList, observer){
for(let mutation of mutationsList){
console.log(mutation.target);
}
});
我正在使用 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,但如果可能的话,我找不到任何参考资料。知道这是否可以做到吗?
mutationRecord.target
给你父元素,至少根据 this
我只在 Firefox 上测试过它,但它似乎可以正常工作。
应该这样做:
const observer = new MutationObserver(function(mutationsList, observer){
for(let mutation of mutationsList){
console.log(mutation.target);
}
});