Ответ 1
Вероятно, вы хотите прочитать slice. Ваш код будет выглядеть примерно так:
$("a").slice(0,20)
С помощью JQuery мне нужно выбрать только первые "n" элементы со страницы, например, первые 20 ссылок вместо того, чтобы выбирать все из них с обычным
$("a")
Звучит просто, но в руководстве jQuery нет никаких доказательств чего-то подобного.
Вероятно, вы хотите прочитать slice. Ваш код будет выглядеть примерно так:
$("a").slice(0,20)
Используйте lt псевдоселектор:
$("a:lt(n)")
Это соответствует элементам до n-го (исключается n-й элемент). Нумерация начинается с 0.
Я нашел эту заметку в конце lt() docs:
Дополнительные примечания:
Поскольку: lt() является расширением jQuery, а не частью спецификации CSS, запросы с использованием: lt() не могут воспользоваться повышением производительности, предоставляемым встроенным методом DOM querySelectorAll(). Для лучшей производительности в современных браузерах используйте вместо этого $( "ваш-чистый-css-selector" ). Slice (0, index).
Поэтому используйте $("selector").slice(from, to)
для улучшения характеристик.
Попробуйте: lt selector: http://docs.jquery.com/Selectors/lt#index
$('a:lt(20)');
.slice() не всегда лучше. В моем случае с jQuery 1.7 в Chrome 36 ошибка .slice(0, 20) с ошибкой:
RangeError: превышен максимальный размер стека вызовов
Я обнаружил, что: lt (20) работал без ошибок в этом случае. У меня было, наверное, десятки тысяч совпадающих элементов.
$("a:lt(n)")