1

.post は、「c1」、「c14」などの一意の ID (ページ上の投稿数を表す) を持つ要素のクラスです。

以下のコードは、ページ上の現在の投稿数をチェックしながら定期的に新しい投稿を取得する ajax 呼び出しの一部です。金額が 5 を超えると、古い投稿が削除されます。

削除される投稿の ID は最小になります。どうすればそれらを選択できますか? または、古いメッセージを選択するより良い方法がありますか (YouTube と同様に下部にあります)。

var postcount = $(".post").length;

while(postcount > 5){
$("#c" + divtoremove).fadeOut(1000);
}

<div class="post" id="c6">Post 6</div>
<div class="post" id="c5">Post 5</div>
<div class="post" id="c4">Post 4</div>
<div class="post" id="c3">Post 3</div>
<div class="post" id="c2">Post 2</div>
<div class="post" id="c1">Post 1</div>

この例では、「c1」を削除する必要があります。要素のカウントを維持できません。カウントを維持しようとしたときにめちゃくちゃになったため、呼び出しごとに再計算する必要があります。

4

3 に答える 3

4

インデックス付きセレクタ フィルタを使用すると、次のように非常にシンプルになります。

$(".post:gt(4)").remove();
于 2012-05-29T14:07:22.650 に答える
2
var $elements = $('.post').filter(function(){
    return parseInt(this.id.substring(1)) <= 1;
});

$elements.fadeOut(1000);

ライブデモ

于 2012-05-29T14:05:56.413 に答える
1

使用できます.filter()

$('.post').filter(function(){
    return parseInt(this.id.substring(1),10) < 5;
}).fadeOut(1000);
于 2012-05-29T14:07:27.400 に答える