Antworten:
Sie möchten wahrscheinlich auf Slice nachlesen . Ihr Code sieht ungefähr so aus:
$("a").slice(0,20)
Verwenden Sie den Pseudo-Selektor:
$("a:lt(n)")
Dies entspricht den Elementen vor dem n-ten (das n-te Element ausgeschlossen). Die Nummerierung beginnt bei 0.
Ich habe diesen Hinweis am Ende der lt () - Dokumentation gefunden :
Zusätzliche Hinweise:
Da: lt () eine jQuery-Erweiterung ist und nicht Teil der CSS-Spezifikation ist, können Abfragen mit: lt () die Leistungssteigerung der nativen DOM-Methode querySelectorAll () nicht nutzen. Verwenden Sie stattdessen $ ("your-pure-css-selector"). Slice (0, index), um eine bessere Leistung in modernen Browsern zu erzielen.
Verwenden Sie es also $("selector").slice(from, to)
für bessere Leistungen.
Probieren Sie den folgenden Selektor aus: http://docs.jquery.com/Selectors/lt#index
$('a:lt(20)');
.slice () ist nicht immer besser. In meinem Fall ist mit jQuery 1.7 in Chrome 36 .slice (0, 20) mit folgendem Fehler fehlgeschlagen:
RangeError: Maximale Aufrufstapelgröße überschritten
Ich fand, dass: lt (20) in diesem Fall fehlerfrei funktionierte. Ich hatte wahrscheinlich Zehntausende von passenden Elementen.
$("a:lt(n)")
:lt(20)
Ansatz viel sauberer aussieht, ist die Verwendung von Slice viel effizienter, wenn Sie zunächst eine große Ergebnismenge haben. Leider durchläuft jQuery bei der Auswertung von ": lt" und anderen Positionsselektoren den gesamten Satz , auch wenn es nur das erste Element erhält. Ich habe mehr darüber in meinem Blog hier geschrieben: spadgos.com/?p=51