Risposte:
Probabilmente vuoi leggere su slice . Il tuo codice sarà simile a questo:
$("a").slice(0,20)
Usa lo pseudo-selettore:
$("a:lt(n)")
Questo corrisponde agli elementi prima dell'ennesimo (l'ennesimo elemento escluso). La numerazione inizia da 0.
Ho trovato questa nota alla fine dei documenti lt () :
Note aggiuntive:
Poiché: lt () è un'estensione jQuery e non fa parte della specifica CSS, le query che utilizzano: lt () non possono sfruttare l'incremento delle prestazioni fornito dal metodo querySelectorAll () DOM nativo. Per prestazioni migliori nei browser moderni, utilizzare $ ("your-pure-css-selector"). Slice (0, indice).
Quindi utilizzare $("selector").slice(from, to)
per prestazioni migliori.
Prova il selettore: lt: http://docs.jquery.com/Selectors/lt#index
$('a:lt(20)');
.slice () non è sempre migliore. Nel mio caso, con jQuery 1.7 in Chrome 36, .slice (0, 20) non è riuscito con errore:
RangeError: dimensione massima dello stack di chiamate superata
Ho scoperto che: lt (20) ha funzionato senza errori in questo caso. Probabilmente avevo decine di migliaia di elementi corrispondenti.
$("a:lt(n)")
:lt(20)
approccio appaia molto più pulito, l'utilizzo di slice è molto più efficiente se si desidera iniziare con un grande set di risultati. Sfortunatamente, quando si valuta ": lt" e altri selettori di posizione, jQuery scorre l'intero set , anche se sta ottenendo solo il primo elemento. Ho scritto di più su questo sul mio blog qui: spadgos.com/?p=51