Как проверить с помощью jquery, если элемент не первый или последний в выборе? - PullRequest
2 голосов
/ 26 января 2012

Мне нужно пройтись по выбранным элементам, и мне нужно сделать что-то для всех элементов, которые не являются первыми или последними в выборе.

У меня проблемы с работой моего селектора:

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

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

Может ли кто-нибудь указать мне правильный способ выбора "средних элементов"?

Спасибо!

Ответы [ 4 ]

3 голосов
/ 26 января 2012

Поскольку вы хотите удалить только элементы из начала и конца набора, вы можете просто использовать .slice [документы] :

set.slice(1, -1).addClass('someClass')
1 голос
/ 26 января 2012

Попробуйте:

var set = set.filter(':not(:first)').filter(':not(:last)');
0 голосов
/ 26 января 2012
var len = $('.someElements').length;    
$('.someElements').each(function(index){
        if(len > 2){
            if(index != 0 && index != len - 1){
                $(this).addClass('someClass');
            }
        }   
    });
0 голосов
/ 26 января 2012

Вы можете использовать каждый для этого:

$('.elements').each(function(index) {
 if(index != 0 && index < $('.elements').length) alert('Middle Element');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...