:lt селекторверсия устаревшая: 3.4
Описание: Выбрать все элементы с индексом меньше index в наборе совпадений.
-
версия добавлена: 1.0jQuery( ":lt(index)" )
index: Индекс, начинающийся с нуля.
-
версия добавлена: 1.8jQuery( ":lt(-index)" )
indexFromEnd: Индекс, начинающийся с нуля, считая назад от последнего элемента.
Начиная с jQuery 3.4, псевдокласс :lt устарел. Удалите его из своих селекторов и отфильтруйте результаты позже с помощью .slice(). Например, :lt(3) можно заменить вызовом .slice( 0, 3 ).
Селекторы, связанные с индексом
Селекторы, связанные с индексом (включая этот селектор "меньше"), фильтруют набор элементов, которые соответствовали выражениям, предшествующим им. Они сужают набор на основе порядка элементов в этом наборе совпадений. Например, если элементы сначала выбраны с помощью селектора класса (.myclass) и возвращаются четыре элемента, этим элементам присваиваются индексы от 0 до 3 для целей этих селекторов.
Обратите внимание, что, поскольку JavaScript-массивы используют индексацию с нуля, эти селекторы отражают этот факт. Вот почему $( ".myclass:lt(1)" ) выбирает первый элемент в документе с классом myclass, а не не выбирает элементы. В отличие от этого, :nth-child(n) использует индексацию с единицы, чтобы соответствовать спецификации CSS.
До jQuery 1.8 селектор :lt(index) не принимал отрицательное значение для index
Дополнительные замечания:
- Поскольку
:lt()является расширением jQuery и не входит в спецификацию CSS, запросы, использующие:lt(), не могут воспользоваться преимуществами повышения производительности, предоставляемого методом родного DOMquerySelectorAll(). Для лучшей производительности в современных браузерах используйте$("your-pure-css-selector").slice(0, index)вместо него.
Пример:
Придайте ячейкам таблицы (TD) с индексом меньше, чем у ячейки с индексом 4 (TD#4), желтый фон, а ячейкам с индексом меньше, чем у ячейки с индексом -2, — красный цвет текста.
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>lt demo</title> <script src="https://code.jquery.com/jquery-3.7.0.js"></script> </head> <body> <table border="1"> <tr><td>TD #0</td><td>TD #1</td><td>TD #2</td></tr> <tr><td>TD #3</td><td>TD #4</td><td>TD #5</td></tr> <tr><td>TD #6</td><td>TD #7</td><td>TD #8</td></tr> </table> <script> $( "td:lt(4)" ).css( "backgroundColor", "yellow" ); $( "td:lt(-2)" ).css( "color", "red" ); </script> </body> </html>