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 に答える