我每隔几秒就会把一个li加到ul上。我想将限制设置为20个项目。一旦有20个项目,我想删除最旧的项目,以便永远不会超过20个项目。我怎么能在JQuery中做到这一点?
答案 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();
}