Получение диапазона элементов в одном селекторе jQuery
Моя проблема в том, что у меня есть таблица, но я хочу только подмножество строк, от первого индекса до последнего индекса. Я думал, вы можете сделать это вот так:
$('table tr:gt(2):lt(5)');
Я думал, что это даст вам только строки №3 и №4, но в итоге это даст вам больше. Как я могу сказать, что селектор выбирает только строки # 3 и # 4?
Ответы
Ответ 1
Вы довольно близки, но проблема в вашем селекторе - это фильтр :lt(5)
.
Вам нужно что-то вроде:
$('table tr:gt(2):lt(2)');
Разница в том, что к моменту применения фильтра lt()
первые три элемента были уже удалены из набора (фильтром gt()
). Таким образом, это захватит 3-й и 4-й элементы (с нулевой индексацией) вместо 3-го по 8-й.
Ответ 2
Как насчет $('table tr'). slice (2, 4)
Так как массивы JavaScript индексируются 0, это даст вам третью и четвертую строки таблицы. Slice по-прежнему будет возвращать набор завершенных (sub) jQuery, поэтому он будет иметь тот же конечный результат.
Ответ 3
Я считаю, что у вас есть это место, хотя я бы предположил, что jQuery будет считать от 0 в нем индекс элементов.
Так было бы gt (1) и lt (4)?