2009-07-08 11 views
35

L'ordine degli elementi nel set jQuery wrapped garantisce che corrisponda all'ordine in cui gli elementi vengono visualizzati nel markup?L'ordine degli elementi nel set jQuery wrapped corrisponde sempre all'ordine in cui gli elementi appaiono nel markup?

Chiedo perché ho bisogno di eseguire un'operazione su un set di elementi nidificati, e ho bisogno di fare sempre l'operazione in ordine di nidificazione.

Posso solo eseguire l'operazione utilizzando .each iterator sul set corrispondente e otterrò sempre l'ordine giusto o devo trovare un altro modo per garantire che l'ordine di operazione corrisponda all'ordine di annidamento?

Grazie!

Tim

risposta

11

jQuery abbinerà il vostro superiore di query verso il basso in modo che il gruppo unico sarà sempre lo stesso.

2

Ho dimenticato quale versione specifica era, ma JQuery 1.3.x garantiva che l'ordine del documento fosse l'ordine degli elementi risultanti, anche con query come "span, div". (Le versioni precedenti non restituivano i risultati nell'ordine del documento, e ho avuto bisogno di questo più volte.)

25

Lo stavo guardando da solo. jQuery fa tornare le cose in ordine dei documenti di cui al successivo articolo:

http://docs.jquery.com/Release:jQuery_1.3.2

Quindi, se si seleziona alcuni ID in quanto tali:

$("#id1, #id2, #id3")

Poi saranno restituite nell'ordine in cui sono appaiono nel DOM, non necessariamente nell'ordine in cui vengono dati. Ne vale certamente la pena di essere a conoscenza di ciò quando si esegue l'aggiornamento dalla versione precedente a quella successiva di jQuery.

+1

+1 per la citazione – pepsi