Javascript 是否可以修改动态添加的DOM节点?
我有一些javascript库(例如AdobeEdge),可以动态地将脚本节点插入DOM。Javascript 是否可以修改动态添加的DOM节点?,javascript,html,dom,mutation-observers,Javascript,Html,Dom,Mutation Observers,我有一些javascript库(例如AdobeEdge),可以动态地将脚本节点插入DOM。 我使用MutationsObserver检测到更改,是否可以修改更改后的节点?是的,您可以像修改任何其他节点一样动态修改添加到DOM中的节点 var target = document.querySelector('div'); new MutationObserver(function(mutations) { mutations.forEach(function (mutation) {
我使用MutationsObserver检测到更改,是否可以修改更改后的节点?是的,您可以像修改任何其他节点一样动态修改添加到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'));
在您的MutationObserver上调用takeRecords()
应该会为您提供一个MutationRecords数组,它们具有属性target
,即已更改的节点。
基本上检查一下。当然,为什么不呢?您试过了吗?只是你需要小心,不要被困在突变事件圈里。这太可惜了。我没想到它真的这么简单。