0

我需要每 X 个帖子运行此函数,并且当您向下滚动页面时,该页面使用 AJAX 加载新帖子。我希望使用带有模数运算符的 for 循环来使用下面的函数,但它似乎并没有完成我正在寻找的东西。知道怎么做吗?

$(document).ready(function($) {
function adTileLoop(){
        var adTile = "<div class='new-box' id='article-tile'></div>";
        var adLoc = 11;
        var p = $('#article-tile');
        var tile = $('#article-tile:nth-child('+adLoc+')');
        for(var i = 0; i <= p.length; i++){
                        if(i % adLoc == 0){
                            $(tile).after(adTile);
                        }
        }
}
$('#content').live(adTileLoop);
}
4

1 回答 1

2

首先,您需要小心保持 ID 的唯一性。$("#article-tile")您拥有并且您试图选择多个的事实是一个错误。ID 必须是唯一的。

这是使用 jQuery 运行一堆 div 的更好方法:

$("div").each(function() {
    console.log($(this));
});

然后,您可以改进选择器以仅nth-children像您在问题中那样选择:

$("div:nth-child(2)")例如将获取页面上的所有其他 div。

要专门检索有关您的帖子的信息,请使用特定于每个帖子的选择器,例如:$(".post:nth-child(2)").

正如 Ashirvad 在评论中建议的那样,您可以在成功的 ajax 调用后运行它,您将能够检索有关您的页面的更新信息。

于 2012-08-27T18:26:20.100 回答