是否可以修改动态添加的DOM节点?

时间:2013-06-20 12:15:22

标签: javascript html dom mutation-observers

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

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

在MutationObserver上调用takeRecords()应该为您提供一个MutationRecords数组,它们具有属性target,这是已更改的节点。
基本上检查API