2011-01-14 6 views
6

Ich habe html und möchte Intervall 5 Elemente von 10'th Position auswählen. Wie macht man das?Wie wählen Elemente zwischen Intervall

Mein html:

<div class="chaire"> 
    <img alt="" src="2.gif"> 

</div> 
<div class="chaire"> 
    <img alt="" src="2.gif"> 
</div> 
<div class="chaire"> 
    <img alt="" src="2.gif"> 
</div> 
<div class="chaire"> 
    <img alt="" src="2.gif"> 
</div> 
... 
<div class="chaire"> 
    <img alt="" src="2.gif"> 
</div> 

Ich versuche, mit jquery:

$(".chaire:gt(10):lt(15)"); 

aber es mir div und img-Tags auswählen. Aber ich brauche div Tags.

Antwort

4

Ihr Code macht den Job ganz gut, und wählt nur <div> Elemente. Werfen Sie einen Blick auf this example fiddle, die 5 <div> Elemente nach dem 10. ( :gt(9):lt(15)) findet.


Der Selektor Sie haben Elemente mit dem Klassennamen, im Fall von Ihrem Beispiel HTML, es ist nur die <div> Elemente auswählen. Es werden keine Elemente ausgewählt. Da rcravens bereits darauf hingewiesen hatte, modifizieren die beiden Selektoren das Ergebnis separat, so dass Sie zuerst :lt() verwenden müssen - :lt(15):gt(9).

Aktualisiertes Beispiel unter: http://jsfiddle.net/teQkf/3/. Der nächste Teil des Beispielcodes findet die Elemente innerhalb des Ergebnisses und ändert ihre src in etwas anderes.

Du bist besser dran slice verwenden, die auf dem Ergebnis nur eine einzige Operation ist und daher weniger verwirrend, nicht schneller erwähnen:

$(".chaire").slice(10,15); 

(example)

+0

Ich stimme nicht zu. Das: gt (9): lt (15) sieht so aus, als ob es funktioniert, weil es nur 5 weitere Elemente in der Serie gibt. Ich habe dein Beispiel aktualisiert, um zu zeigen: http://jsfiddle.net/rcravens/teQkf/2/ – rcravens

+0

@rcravens: Ja, ich hatte das gerade auch herausgefunden. Durch den Austausch der Selektoren wird das Problem behoben, daher habe ich meine Antwort aktualisiert. Ich würde definitiv empfehlen, 'slice' zu ​​verwenden, um diese Art von Verwirrung zu vermeiden. –

2

versuchen Sie dies:

$(".chaire:gt(10):lt(5)"); 

hier ein jFiddle ist zu spielen, um.

http://jsfiddle.net/rcravens/m3j6K/

Es sieht aus wie das Verkettungs ‚gt‘ und ‚lt‘ Selektoren Mittel ‚LT‘ angewendet wird, was bleibt nach dem ‚gt‘.

Bob

+0

Wenn Sie die '10 behalten mögen 'und' 15 'Indizes, wenden Sie das' lt 'zuerst und das' gt 'Sekunde an. Ich habe die jFiddle aktualisiert, um ein Beispiel dafür hinzuzufügen: http://jsfiddle.net/rcravens/m3j6K/1/ – rcravens

+0

Es ist erwähnenswert, dass beide Selektoren null-basierte Ganzzahlen als Argumente nehmen, also 0 ist aus dem ersten Element, 1 ist von der zweiten, usw. Daher wählt ': gt (10): lt (5) 'tatsächlich die Elemente 12-15, die nur aus 4 Elementen bestehen. Sehen Sie ein Update für Ihr eigenes Beispiel: http://jsfiddle.net/m3j6K/3/ –

Verwandte Themen