Есть ли простой способ получить li:gt(-1) в jquery?

#jquery

#jquery

Вопрос:

Есть ли простой способ получить li:gt(-1) в jQuery? Или больше или равно нулю с использованием :gt фильтра jQuery?

Когда я использую следующий код, он не принимает li:gt(-1) :

  $('#Input li:gt(-1)').each(function()
  

Комментарии:

1. Разве индекс не «больше или равен нулю» только для всех? В этом случае вам вообще не нужно :gt .

2. Не могли бы вы пояснить, что вы имеете в виду :gt(-l) ? Для l начала отрицательно? Вы ищете :lt() ?

3. правильно, li: gt(-1), то есть отрицательный (один) -l

4. @Bruc, понял, но, пожалуйста, обратите внимание, что l (нижний регистр L ) — это не то же самое, 1 что, и мы больше не используем пишущие машинки. В вашем случае, slice() вероятно, это правильный путь, см. Ответ @pimvdb .

Ответ №1:

Измените свой код, чтобы он начинался с 0 вместо -1, и сделайте селектор «больше или равно»:

 $('.someClass:eq(' i '), .someClass:gt(' i ')')
  

Или, с немного меньшим дублированием:

 $('.someClass').filter(':eq(' i '), :gt(' i ')')
  

Комментарии:

1. спасибо Эллиоту за понимание моего вопроса, он отлично работает

2. спасибо сработало как шарм ::gt(-1) ->:eq(0),:gt(0)

Ответ №2:

О чем .slice ? Передача одного индекса означает что-либо от этого индекса и выше, поэтому добавьте 1 , чтобы получить gt , а не gte .

  $('#Input li').slice(1 - l)
  

Ответ №3:

Если вы хотите получить все элементы с индексом «больше или равно нулю», тогда вам просто нужны все элементы, и вам не нужен :gt псевдоселектор:

 $('#Input li').each(function() {
    //Do whatever
});
  

Обновление (на основе комментариев)

Я все еще не совсем уверен, к чему вы стремитесь, но если вы хотите узнать индекс элемента, на который ссылается текущая итерация, вы можете использовать первый аргумент each :

 $('#Input li').each(function(index, elem) {
    //index is the index of the current element
});
  

Комментарии:

1. $(‘#input li: gt’) будет использоваться в качестве счетчика, начинающегося с нуля, и будет добавляться к нему

2. Я не уверен, что это именно то, что вам нужно, но посмотрите мою правку.

3. Я хочу, чтобы селектор начинался с определенного индекса, если я введу $(‘#input li:gt(0)’), он начнется с 1, а li: gt(-l) не работает.

Ответ №4:

Если я понимаю вопрос, я думаю, вам просто нужно:

$('#Input li').each(function()

Он вернет объект jQuery, который индексируется с 0.

Поэтому каждое совпадение будет равно 0 или больше.