我有一个空div(id =" parent"),其中第三方窗口小部件呈现一些内容(比如div和锚标签)。现在,我需要在窗口小部件呈现div和锚标签时添加一些自定义属性。
所以我有一个MutationObserver如下:
var parent = document.getElementById("parent");
var observer = new MutationObserver(function(mutations){
functionToAddCustomAttributes();
});
observer.observe(parent, {
subtree: true,
childList: true
});
在functionToAddCustomAttributes()中,我有代码来添加属性。我的问题是,如果我添加属性,不应该再次调用MutationObserver,因为我正在更新#parent的子节点?它不应该导致无限循环吗?它看起来并不像我的代码中发生的那样,所以我只是想确保这是正确的方法。
如果没有,是否有任何其他方式在窗口小部件呈现内容时添加属性?
答案 0 :(得分:0)
监听父div而不是MutationObserver的onDomSubTreeModified事件。在回调中添加自定义属性并使用return false;为了安全起见。
答案 1 :(得分:0)
在添加属性的代码之后,试试这个:
$('#parent').find('#someChild').attr('name', 'value');