jQuery: Getting the two last list items?

2019-01-26 03:59发布

I want to apply a special class to the two last list items in an unordered list with jQuery. Like this:

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

How to? Should I use :eq somehow?

Thanks in advance

Pontus

4条回答
Fickle 薄情
2楼-- · 2019-01-26 04:15
$(function(){

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

});
查看更多
Evening l夕情丶
3楼-- · 2019-01-26 04:18

Another approach, using andSelf and prev:

$('ul li:last-child').prev('li').andSelf().addClass("special");
查看更多
走好不送
4楼-- · 2019-01-26 04:26

You can use function slice. It is very flexible.

$('ul li').slice(-2).addClass("special");
查看更多
Ridiculous、
5楼-- · 2019-01-26 04:27
var items = $('ul li')
var last_two = items.filter('li:gt('+ items.length-3 +')')
last_two.addClass('special');
查看更多
登录 后发表回答