Odpowiedzi:
Prawdopodobnie chcesz przeczytać fragment . Twój kod będzie wyglądał mniej więcej tak:
$("a").slice(0,20)
Użyj lt pseudo selektora:
$("a:lt(n)")
To dopasowuje elementy przed n-tym (z wyłączeniem n-tego elementu). Numeracja zaczyna się od 0.
Znalazłem tę notatkę na końcu dokumentacji lt () :
Dodatkowe uwagi:
Ponieważ: lt () jest rozszerzeniem jQuery i nie jest częścią specyfikacji CSS, zapytania wykorzystujące: lt () nie mogą skorzystać ze zwiększenia wydajności zapewnianego przez natywną metodę DOM querySelectorAll (). Aby uzyskać lepszą wydajność w nowoczesnych przeglądarkach, zamiast tego użyj $ („twój-czysty-css-selektor”). Slice (0, indeks).
Więc użyj $("selector").slice(from, to)dla lepszych wyników.
Wypróbuj: selektor: http://docs.jquery.com/Selectors/lt#index
$('a:lt(20)');
.slice () nie zawsze jest lepszy. W moim przypadku, z jQuery 1.7 w Chrome 36, .slice (0, 20) nie powiodło się z błędem:
RangeError: Przekroczono maksymalny rozmiar stosu wywołań
Odkryłem, że: lt (20) działało bezbłędnie w tym przypadku. Miałem prawdopodobnie dziesiątki tysięcy pasujących elementów.
$("a:lt(n)")
:lt(20)podejście wygląda na znacznie czystsze, stosowanie wycinania jest o wiele bardziej wydajne, jeśli masz duży zestaw wyników na początek. Niestety, podczas oceny „: lt” i innych selektorów pozycyjnych, jQuery zapętla cały zestaw , nawet jeśli otrzymuje tylko pierwszy element. Więcej o tym napisałem na moim blogu tutaj: spadgos.com/?p=51