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 + ')');
$('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);