.post是具有唯一ID的元素类,例如“c1”,“c14”等(表示页面上的帖子数)。
以下代码将成为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”。我无法统计这些元素,我需要在每次调用时重新计算它,因为当我试图保持计数时它被搞砸了。
答案 0 :(得分:4)
使用索引选择器过滤器非常简单:
$(".post:gt(4)").remove();
答案 1 :(得分:2)
var $elements = $('.post').filter(function(){
return parseInt(this.id.substring(1)) <= 1;
});
$elements.fadeOut(1000);
答案 2 :(得分:1)
您可以使用.filter()
:
$('.post').filter(function(){
return parseInt(this.id.substring(1),10) < 5;
}).fadeOut(1000);