我需要每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);
}
答案 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呼叫后运行此功能,并且您将能够检索有关您网页的更新信息。