jQuery:选择列表中的最后4项

我有一个图像/文本链接列表,

  • link 1
  • link 2
  • link 3
  • link 4
  • link 5
  • link 6
  • link 7
  • link 8

我在.css文件中设置列表的样式,

 li { float:left; margin:0px 5px 5px 0px; } 

但后来我想要显示列表中的最后4个项目,而它们的边距底部没有5px空间。 所以我想使用jQuery来选择最后4项并将其CSS样式更改为marginBottom:0px;

问题是,这是jQuery选择最后一项的方式:

 li:last 

但是最后4个怎么样? 或者最后5或6?

谢谢。

 $('li').slice(-4).css('color', 'red') 

 var e = $('li').slice(-4).css('margin-bottom', '0px'); 

演示

使用:gt()如:

 var n = $('ul').size(); var lastFour = $('li:gt(' + n-5 + ')'); 

http://api.jquery.com/gt-selector/

 $('li').slice(-4).addClass('last-li-items'); 

然后在你的CSS中:

 .last-li-items { margin-bottom:0 !important; } 

您可以使用过滤方法

 var elems = $('ul li'); elems.filter(function(idx){ /* we use 5 because the index starts at 0 */ return idx > elems.length-5; }).css('margin-bottom','0px'); 

演示: http : //www.jsfiddle.net/Cw3uu/

你可以使用.slice()

 $('li').slice(-4) 

或者,您可以使用jQuery :gt()

 var size = $('li').size(); $('li:gt('+(size-5)+')'); 

我想你可以尝试这个$("li").slice(-5);