Pourquoi utiliser jQuery (sélecteur) .get (0) au lieu de jQuery (sélecteur) [0] pour obtenir l'élément DOM?
À l'aide de jQuery est-il un avantage à l'utilisation de $(selector).get(0)
sur $(selector)[0]
si je voulez juste pour obtenir le premier élément dans le jQuery tableau comme un élément du DOM?
HTML:
<form id="myForm"></form>
Javascript:
var selector = '#myForm';
var domElement = $(selector).get(0); //Returns [object HTMLFormElement]
//Or
var domElement = $(selector)[0]; //Also returns [object HTMLFormElement]
.get()
est plus de caractères à taper.- Les deux méthodes donnent le même résultat si le
$(selector)
est vide (undefined
) - Le jQuery documentation sur
.get()
notes que vous pouvez simplement utiliser l'index accesseur pour obtenir le n-ième élément, mais vous n'obtenez pas les autres avantages de.get()
comme l'utilisation d'un nombre négatif pour retourner les articles à partir de la fin du tableau. - Aussi, vous pouvez appeler
.get()
avec aucune arguments pour renvoyer tous les éléments du DOM du jQuery tableau.
source d'informationauteur Aaron Blenkush | 2013-01-24
Vous devez vous connecter pour publier un commentaire.
.get
vous permet d'utiliser des indices. Par exemple:$("span").get(-1);
fait référence à la troisièmespan
.Mais si vous n'avez pas besoin de cette fonctionnalité et ne souhaitez sélectionner un élément
.get(0)
et[0]
sont les mêmes. Avis de lathis[num]
:Dans l'intérêt de la vitesse, j'ai créé un jsfiddle qui passe en boucle sur chacun des 10 000 000 de fois. J'ai créé deux tests avec une forme au début du document et la fin avec 1200 lignes de mannequin HTML entre. Voici quelques résultats préliminaires:
Il ressemble à aucune différence significative de la vitesse peut être vu. Cependant, vous devez vérifier dans les différents navigateurs pour être sûr.
Vous pouvez consulter le violon ici: http://jsfiddle.net/AFfYx/ (prend environ une minute à exécuter)
J'ai trop faible, un représentant de commentaire sur ericbowden réponse, mais ici, c'est un jsperf test de comparaison de deux opérations:
http://jsperf.com/selector-get-0-vs-selector-0
Consensus (sur Chrome 32): Fondamentalement la même, très léger avantage vers
[0]