即使使用 document.ready,脚本也只能在控制台中运行

Script only working in the console even with document.ready

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

这可能听起来像 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);

    }
});

在您的 code.please 中添加 setTimeout 函数试试下面的代码:

$(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);});