2012-12-22 5 views
8

Mögliche Duplizieren:
Selecting the first “n” items with jQueryJQuery Grenzelement Abfrageergebnisse

ich eine unendliche zählbaren Liste von Elementen haben!

Gibt es eine Funktion, um x Elemente aus dem Kopf der Liste zu finden und zu stoppen!

$('.elements').find('li').limit(10) //this does not work 

Ich versuchte das goog aber ich konnte nicht spezifisch genug mit dem sein? !

+2

* "Ich versuchte das gute, aber ich konnte nicht spezifisch genug mit der?!" * Was bedeutet das? –

+0

'$ ('. Elements'). Find ('li'). Eq (10)' löst dieses Problem! ref: https://api.jquery.com/eq/ –

Antwort

17

Ja, Sie können jQuerys custom :lt selector dafür verwenden.

Zum Beispiel wird dies nur die ersten drei li s in der angegebenen Zielliste finden:

var firstThree = $("#target li:lt(3)"); 

Live Example | Source

+0

Obwohl sauberer als @ Palash Beispiel, ist dies viel langsamer, da es jQuery Sizzle-Engine verwenden muss, um den CSS3-Selektor zu verstehen. Dein Liebling ist mit etwas wie $ ('# target li') ausgeschaltet. Slice (0,3); wenn Leistung ein Ziel ist. –

+0

@MariusMiliunas: Es handelt sich nicht um einen CSS3-Selektor, sondern nur um einen jQuery-Selektor. Und Sie haben recht, dass Sizzle die Arbeit macht und nicht in den Browser ausgelagert werden kann. Ich hatte die Antwort des Palasts nicht gesehen, aber ich habe es gerade aufgefrischt und ermutige dich dazu. –

+0

Ja, du hast Recht, nur jQuery zu sein. –

14

Versuchen Sie jQuery slice. Ihr Code wird so etwas wie dieses:

$('.elements').find('li').slice(0,10); 

UPDATE

Wie von Marius Miliunas und T. J. vorgeschlagen Crowder, basierend auf der Leistung, können Sie nur Folgendes tun:

+0

Mit modernen Browsern ist es wahrscheinlich besser, '$ (". Elements li "). Slice (0, 10)' zu verwenden, so dass es ein Abfrage-Selektor ist, der an den Browser übergeben werden kann, anstatt zwei. +1 für die Verwendung von jQuery-Erweiterungen (Ich bin etwas überrascht, eine Antwort von mir zu sehen, die das tut). –

+0

Nur für Klarheit. 'Slice()' IS jQuery Erweiterung im obigen Beispiel. Doc: [http://api.jquery.com/slice/](http://api.jquery.com/slice/) – instead

Verwandte Themen