0

我有一个在页面上运行的脚本。它不起作用,但是当我将它输入控制台然后运行它时,它可以完美运行。

这可能听起来像其他问题,例如这个,但我已经有了$(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);

    }
});
4

1 回答 1

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);});
于 2016-12-09T09:29:22.190 回答