添加元素以分页每X个div

时间:2012-08-27 18:20:07

标签: javascript jquery ajax loops

我需要每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);
}

1 个答案:

答案 0 :(得分: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呼叫后运行此功能,并且您将能够检索有关您网页的更新信息。