#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 или больше.