68 votes

Obtenir l'élément de base à partir d'un objet jQuery

J'ai du mal à trouver la bonne terminologie ici, mais si vous avez un objet jQuery ...

 $('#MyObject')
 

... est-il possible d'extraire l'élément de base? Sens, l'équivalent de ceci:

 document.getElementById('MyObject')
 

96voto

Aaron Wagner Points 4556
 $('#MyObject').get(0);
 

Je pense que c'est ce que tu veux. Je pense que vous pouvez également le référencer comme un tableau régulier avec:

 $('#MyObject')[0];
 

Mais je ne sais pas si cela fonctionnera toujours. S'en tenir à la première syntaxe.

54voto

VolkerK Points 54118

9voto

Shog9 Points 82052

Un objet jQuery est un ensemble d'éléments. Dans votre cas, un ensemble d'un seul élément. Cela diffère de certaines autres bibliothèques, qui s'enroulent leurs éléments constitutifs, et de fournir d'autres syntaxe des sélecteurs de retour des correspondances multiples.

Aaron W et VolkerK déjà expliqué comment accéder à la première (indice 0) élément dans l'ensemble.

5voto

VeeTheSecond Points 764

J'ai testé Aaron affirmations sur tous les navigateurs que j'ai de disponible sur ma boîte:

$('#MyObject').get(0);

vs

$('#MyObject')[0];

Aussi loin que je peux dire, c'est seulement une question de préférence personnelle.

Fonctionnellement, ces deux énoncés sont équivalents pour les deux existant et non-existant éléments. J'ai testé les navigateurs suivants: Chrome 27.0, FF 21.0, IE10, IE9, IE8, IE7, IE6.

Dans les tests de vitesse que j'ai couru, il n'est pas toujours possible de dire laquelle la variation a été plus rapide; le résultat n'était pas toujours cohérent, même sur le même navigateur. Pour les tests de vitesse, j'ai testé uniquement les éléments existants. Mes résultats de test sont ici.

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