jQuery:获取最后两个列表项?

时间:2009-08-10 21:08:54

标签: javascript jquery css-selectors traversal

我想在jQuery的无序列表中将特殊类应用于最后两个列表项。像这样:

<ul>
<li>Lorem</li>
<li>ipsum</li>
<li>dolor</li>
<li class="special">sit</li>
<li class="special">amet</li>
</ul>

怎么样?我应该使用:eq某种程度?

提前致谢

本都

4 个答案:

答案 0 :(得分:48)

您可以使用功能slice。它非常灵活。

$('ul li').slice(-2).addClass("special");

答案 1 :(得分:24)

另一种方法,使用andSelfprev

$('ul li:last-child').prev('li').andSelf().addClass("special");

答案 2 :(得分:5)

var items = $('ul li')
var last_two = items.filter('li:gt('+ items.length-3 +')')
last_two.addClass('special');

答案 3 :(得分:3)

$(function(){

  $("li:gt("+($("li").length-3)+")").addClass("special");

});