如果元素不是选择中的第一个或最后一个,如何检查jquery?

时间:2012-01-26 11:16:52

标签: jquery selection

我需要遍历一系列元素,并且需要为所有元素做一些事情,而不是选择中的第一个或最后一个元素。

我在让我的选择器工作时遇到了问题:

var set = $('.someElements')
    setLen = set.length;

if (setLen > 2 ) {
    set.not(setLen.first(), setLen.last() ).addClass('someClass')
    }

有人能指出我选择“中间元素”的正确方法吗?

谢谢!

4 个答案:

答案 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');
            }
        }   
    });