使用mutationObserver更改img src而不递归?

时间:2017-06-15 02:10:06

标签: javascript jquery ajax mutation-observers

我尝试使用mutationObserver更改图片来源,检查动态创建的元素的document.body,然后相应地更新它们。

我怀疑由于我使用的是{attributes: true, subtree: true},每次我尝试更新src时都会触发回调,从而导致页面无响应。

有没有人知道如何解决这个问题?我认为forEach是我的问题,但即使没有它,问题仍然存在。我甚至尝试从mutationObserver返回值以在函数内部使用,但它只是返回undefined,除非我选择console.log

以下代码:

var target = document.body;
config = {attributes: true, subtree: true}

var makeObserver = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation){

        if (mutation.target.tagName === 'IMG'){
            mutation.target.src = "http://example.com/some_img.jpg";        
            console.log(mutation.target);
        }
    });
});

(function(){
    makeObserver.observe(target, config);   
})();

谢谢!

0 个答案:

没有答案