1

我有一个用 $.ajax 填充的元素,现在我想淡化所有自定义加载的元素,当页面加载时,该元素已经预先填充了 20 个元素,我不想针对这 20 个元素。本质上,如何假设我总共有 37 个 div,我的目标是后 17 个 div?目前我使用:

while ($(".info #future>center>div").length>20) {
  $(".info #future>center>div:last-child").remove();
}

删除它们,但现在我还希望事先应用淡入淡出效果,将任何东西分配给他们的类不是一个选项,因为该属性已经被占用。

4

2 回答 2

2

您可以使用 jquery 的`slice() Slice()方法。给定一个表示一组 DOM 元素的 jQuery 对象,.slice() 方法构造一个新的 jQuery 对象,其中包含由 start 和可选的 end 参数指定的元素的子集。提供的起始索引标识集合中元素之一的位置;如果 end 被省略,则该元素之后的所有元素都将包含在结果中。

 $('.info #future>center>div').slice(20).remove(); //Where start and end your  index to filter.  I omitted end parameter. if you want you can put it. .slice(20,37)

如果你想要褪色效果

$('.info #future>center>div').slice(20).fadeOut(300, function() { $(this).remove(); });
于 2013-03-17T15:27:51.413 回答
0

看看 jQuery :gt() Selector

它用于选择索引处大于提供给它的索引处的所有元素,因此您可以使用index = 20

$(".info #future>center>div:gt(20)").remove();
于 2013-03-17T15:31:16.730 回答