Объединение в цепочку селекторов jQuery: лейтенант и: gt

Действительно простой способ понять это состоит в том, чтобы поместить слово "цикл" после каждого из ключевых слов. Условия теперь имеют смысл, если они просто читаются как повседневные фразы.

break цикл - цикличное выполнение повреждается и останавливается.

continue цикл - цикл продолжает выполняться со следующим повторением.

16
задан Keavon 21 May 2014 в 01:48
поделиться

4 ответа

Они применяются последовательно, поэтому сначала вы отфильтруете первые четыре элемента (: gt (3) ), а затем отфильтруете все элементы после шестого. (: lt (6) ) элемент уже отфильтрованного набора.

Представьте себе этот HTML:

<br/><br/>
<br/><br/>
<br/><br/>
<br/><br/>
<br/><br/>
<br/><br/>

Затем выполните следующий jQuery:

$('br:gt(3):lt(6)').addClass('sel');

Теперь у вас будет:

<br/><br/>
<br/><br/>
<br class="sel"/><br class="sel"/>
<br class="sel"/><br class="sel"/>
<br class="sel"/><br class="sel"/>
<br/><br/>
30
ответ дан 30 November 2019 в 15:18
поделиться

Я предлагаю вам вместо этого использовать метод slice ().

http://docs.jquery.com/Traversing/slice#startend

$('table tr').slice(2, 5).addClass("something");
26
ответ дан 30 November 2019 в 15:18
поделиться

Не совсем то, что вы могли подумать-

Рабочая демонстрация

В основном, второй фильтр применяется последовательно к согласованному набору первого фильтра.

Например, на таблица с 10 строками, : gt (3) будет фильтровать до элементов 5–10, затем : lt (6) будет применен к 6 элементам, не фильтруя никакие.

, если вы добавите / edit к URL демонстрации, вы можете поиграть с селектором и убедиться в этом сами. Если вы измените второй фильтр на : lt (2) , вы получите строки 5 и 6, выделенные красным

4
ответ дан 30 November 2019 в 15:18
поделиться

По какой-то причине : lt (6) будет проигнорирован в этом выборе, поэтому он вернет все, что больше 3 в этом интервале.

Однако, если вы переключите его, он будет работать, как ожидалось

$('table tr:lt(6):gt(3)')

вернет 2 строки (только строки 4 и 5 находятся между 6 и 3).

** edit: ** using v.1.3.2

А также, lt (6) не игнорируется, а не просто работает так, как я ожидал. Итак : gt (3): lt (6) фактически вернет 6 элементов (если у вас достаточно строк, то есть)

1
ответ дан 30 November 2019 в 15:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: