脚本仅在控制台中工作,即使是document.ready

时间:2016-12-09 09:15:40

标签: javascript html console developer-tools google-developer-tools

我有一个在页面上运行的脚本。它不起作用,但是当我在控制台中键入它然后运行它时效果很好。

这可能听起来像其他问题,例如this one,但我已经有$(document).ready()。此处已定义的所有变量都已在文档的前面定义。

$(document).ready(function(){
    for (var i = 0; i < posts.length; i++) {
        var post_html = posts_html[i];
        var link = posts[i];
        console.log(i);
        name = $(post_html)[5].childNodes[1].innerHTML;
        document.getElementsByClassName('posts')[0].innerHTML = document.getElementsByClassName('posts')[0].innerHTML + '<a href="' + link + '" class="sidebar_link sidebar_posts_link"><li>' + name + '</li></a>'
        console.log(name + ' - ' + posts + ' - ' + i + ' - ' + posts[i] + ' - ' + link);

    }
});

1 个答案:

答案 0 :(得分:1)

在你的代码中添加setTime out函数。请尝试下面的代码:

$(document).ready(function(){  setTimeout(function(){
for (var i = 0; i < posts.length; i++) {
    var post_html = posts_html[i];
    var link = posts[i];
    console.log(i);
    name = $(post_html)[5].childNodes[1].innerHTML;
    document.getElementsByClassName('posts')[0].innerHTML = document.getElementsByClassName('posts')[0].innerHTML + '<a href="' + link + '" class="sidebar_link sidebar_posts_link"><li>' + name + '</li></a>'
    console.log(name + ' - ' + posts + ' - ' + i + ' - ' + posts[i] + ' - ' + link);

}
},5000);});