元素影响JavaScript等效

时间:2013-11-18 11:07:32

标签: javascript dom-manipulation

我想要一个JavaScript解决方案来测量一段时间内受影响的DOM节点的数量。 我正在寻找的解决方案与Chrome工具栏中的受影响元素属性非常相似 因为我想在我的应用程序投入生产时测量此客户端,所以我无法使用Chrome工具栏 我已经尝试了document.getElementsByTagName("*").length,但这只给了我当前的金额 因此,如果我要删除2个元素并添加3,则会说1个节点受到影响,实际上有5个 任何想法/黑客?

1 个答案:

答案 0 :(得分:1)

目前在Firefox中MutationObserver实施,在Chrome中以供应商为前缀WebKitMutationObserver

MutationObserver = window.MutationObserver || window.WebKitMutationObserver;

var observer = new MutationObserver(function(mutations, observer) {
    // fired when a mutation occurs
    console.log(mutations, observer);
    // ...
});

// define what element should be observed by the observer
// and what types of mutations trigger the callback
observer.observe(document, {
  subtree: true,
  attributes: true
  //...
});

此示例侦听document及其整个子树上的DOM更改,它将触发元素属性更改以及结构更改。规范草案包含有效mutation properties的完整列表。