我试图监控第三方网站上的DOM元素。在倒数计时器到达之前,该元素不存在,然后创建它。
我已经取得了一些成功:document.getElementsByClassName('倒计时 - 隐藏')。长度
当它从0变为1时我想实现一个功能。
我该怎么做?我尝试过使用Mutation Observer但它不会让我观察一个空节点。
谢谢!
编辑:这是我到目前为止所做的。var timesDone = 0;
var songID = 0;
function clickit(xsongID) {
if(document.getElementsByClassName('lottery-countdown ng-hide').length == 1) {
document.getElementsByClassName('media submission ng-scope')[xsongID].click(); songName = document.getElementsByClassName('media-title submission-name ng-binding')[xsongID].outerHTML; timesDone++; }
}
setInterval(clickit, 29900, songID);
答案 0 :(得分:1)
我最近通过设置这样的Interval函数来做到这一点:
var timesTest = 0;
var checkExists = setInterval(function() {
if ($('.yourClassElement').length) {
// ok element found : do your stuff and clear the Interval...
// stuff...
clearInterval(checkExists);
timesTest = 0;
}
timesTest++;
// I won't let this run more than 5 seconds, so :
if (timesTest*100 > 5000)
clearInterval(checkExists);
}, 100);