-4

我有一些 javascript 库(例如 Adob​​e Edge),它们动态地将脚本节点插入 DOM。我用 MutationsObserver 检测到变化,是否可以修改突变节点?

4

2 回答 2

1

是的,您可以像修改任何其他节点一样动态修改添加到 DOM 的节点。

var target = document.querySelector('div');

new MutationObserver(function(mutations) {
    mutations.forEach(function (mutation) {
        Array.prototype.forEach.call(mutation.addedNodes, function (node) {
            node.style.backgroundColor = 'red';
        });
    });
}).observe(document.querySelector('div'), {attributes: true, childList: true, characterData: true});

target.appendChild(document.createElement('span'));

http://jsfiddle.net/ExplosionPIlls/rK6Hr/

于 2013-06-20T12:27:45.300 回答
0

调用takeRecords()您的 MutationObserver 应该会给您一个 MutationRecords 数组,它们具有属性target,即已更改的节点。
基本上检查API

于 2013-06-20T12:34:00.247 回答