JQuery:删除第20个项目

时间:2009-12-03 00:32:02

标签: jquery

我每隔几秒就会把一个li加到ul上。我想将限制设置为20个项目。一旦有20个项目,我想删除最旧的项目,以便永远不会超过20个项目。我怎么能在JQuery中做到这一点?

3 个答案:

答案 0 :(得分:8)

您可以使用gt选择器选择特定元素后的所有内容,或选择lt之前的任何内容。如果你需要找出现有的长度,你必须使用数组的length属性。

EG:

$('#ulID li:gt(19)').remove()

您还可以使用:first和:last,如果您从未插入过多于1个项目。

答案 1 :(得分:2)

删除最后一个孩子:

$('li:last-child').remove();

删除第20个孩子做(0索引)

$('li:eq(19)').remove();

答案 2 :(得分:0)

在您添加前后执行以下操作...

//Assuming $ul = a jquery object that contains your ul element.
//If there are more than 20 items, remove oldest item
if ($ul.children().size() > 20) {
    $ul.children(":last-child").remove();
}

或者如果你已经在jquery对象中有li元素,你也可以执行以下操作

if ($li.size() > 20) {
    $li.find(":last-child").remove();
}