如何检测页面上是否加载了dom元素

时间:2017-08-02 11:48:37

标签: javascript jquery knockout.js single-page-application mutation-observers

我有一个单页面应用程序,其中带有类“abc”的div正在动态加载。我想在该特定元素及其所有子元素都已加载到DOM之后才运行脚本。我不想使用一次又一次调用该函数的计时器。我该如何解决这个问题。这可能与变异观察者有关,但我不了解如何使用它。

2 个答案:

答案 0 :(得分:1)

变异观察者的例子

var target = document.querySelector('.class');

// create an observer instance
var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        console.log(mutation.type);
    });
});

// configuration of the observer:
var config = { attributes: true, childList: true, characterData: true }

// pass in the target node, as well as the observer options
observer.observe(target, config);

因此对于目标元素的每个突变 这段代码console.log(mutation.type); 将执行

答案 1 :(得分:-2)

$(document).on('DOMNodeInserted', '.abc', function() {

});

这将等到DOM元素准备就绪,然后运行代码。