我需要遍历一系列元素,并且需要为所有元素做一些事情,而不是选择中的第一个或最后一个元素。
我在让我的选择器工作时遇到了问题:
var set = $('.someElements')
setLen = set.length;
if (setLen > 2 ) {
set.not(setLen.first(), setLen.last() ).addClass('someClass')
}
有人能指出我选择“中间元素”的正确方法吗?
谢谢!
答案 0 :(得分:3)
由于您只想从集合的开头和结尾删除元素,因此您只需使用.slice
[docs]:
set.slice(1, -1).addClass('someClass')
答案 1 :(得分:1)
尝试:
var set = set.filter(':not(:first)').filter(':not(:last)');
答案 2 :(得分:0)
你可以使用它们:
$('.elements').each(function(index) {
if(index != 0 && index < $('.elements').length) alert('Middle Element');
});
答案 3 :(得分:0)
var len = $('.someElements').length;
$('.someElements').each(function(index){
if(len > 2){
if(index != 0 && index != len - 1){
$(this).addClass('someClass');
}
}
});