我如何得到$ .each的最后一个元素

时间:2011-01-06 22:20:40

标签: jquery

我有这个

     $.each(data, function (url) {
      $("ul").append($("<li class='horizontal'></li>").html(this.title));
    });

我想将班级最后添加到最后一班......我该怎么做

4 个答案:

答案 0 :(得分:6)

$.each(data, function(i,v){
  $('<li />').html(v.title).appendTo('ul');
});
$('ul li:last').addClass('horizontal');

jsFiddle

答案 1 :(得分:3)

你的意思是UL还是LI?做(循环之后):

$("#theUl li:last").addClass("horizontal"); // or $("ul:last"), whichever you mean

你可以在循环中完成它,但我不建议它,因为它需要在每次迭代时检查。

为了获得更好的整体性能,您可以通过构建LI 离线并一次性附加它们来减少对DOM的写入次数:

var lis = '';
$.each(data, function (url) {
    lis += "<li>" + this.title + "</li>";
});
$("ul").append(lis);
$("ul li:last").addClass("horizontal");

答案 2 :(得分:1)

如果数据是数组,则可以执行

data.length

它会给你数量。然后,可以在.each中携带一个计数器,并检查是否到达最后一个元素。

类似的东西......但是jquery中应该有一个最后一个选择器。

答案 3 :(得分:1)

 $.each(data, function (url) {
  $("ul").append($("<li class='horizontal'></li>").html(this.title));
});

$("ul li:last").addClass("last");