96 votes

Les objets de l’ordre sont retour par un sélecteur jQuery spécifié ?

Tous les sélecteurs jQuery retournent un tableau d’objets. Sont ces objets, toujours dans le même ordre que dans le code HTML ? Peux je m’appuie sur cela ?

118voto

Kobi Points 65357

Oui.
Le jQuery 1.3.2 notes de dire:

Les éléments Retournés dans l'Ordre du Document

C'est un changement de jQuery sélecteur moteur de re-ordres, les résultats retournés à être dans l'ordre du document, au lieu de l'ordre dans lequel les sélecteurs ont été transmises. Ce changement a été fait afin d'être en conformité avec les Sélecteurs de la spécification de l'API (qui utilise jQuery, en interne, dans les navigateurs qui le supportent).

Ce n'était pas le cas sur jQuery 1.3:

L'ordre de "a, b, c" sélecteurs de style peut changer. Les navigateurs qui prennent en charge querySelectorAll (Safari, Firefox 3.5+, Opera 10+, IE 8+) sera de retour les éléments dans l'ordre du document, d'autres navigateurs (actuellement) de retour dans l'ordre spécifié. Dans la section 1.3.2 et, plus tard, la libération de tous séparés par des virgules sélecteurs seront retournés dans l'ordre du document.

9voto

user2259571 Points 269

Il peut y avoir des exceptions, par exemple à partir de la documentation de prevAll() :

« Étant donné un objet jQuery qui représente un ensemble d’éléments DOM, la méthode .prevAll() parcourt les prédécesseurs de ces éléments dans l’arborescence DOM et de construire un nouveau jQuery s’opposer des éléments correspondants ; les éléments sont retournés dans l’ordre en commençant avec le frère et plus proche de vous. »

http://API.jQuery.com/prevAll/

3voto

reko_t Points 22121

Oui, ils sont toujours dans l’ordre qu’ils sont dans le DOM.

0voto

seanxe Points 968

Probablement dans l’ordre, qu'il les trouve, un sélecteur a peu près parcourt la DOM et lorsqu’il trouve un élément qui correspond, le place dans un tableau.

Vous pourriez peut-être faire un test de dire 5 zones de texte dont le d’id « textbox_n », où n est un nombre, puis la liste d’alerte et voir ce que vous obtenez ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X