Question

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 ?Autrement dit, l'équivalent de ceci :

document.getElementById('MyObject')
Était-ce utile?

La solution

Oui, utilisez .get(index).Selon le Documentation:

Le .get() La méthode accorde l'accès aux nœuds DOM sous-jacents à chaque objet jQuery.

Autres conseils

$('#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 normal avec :

$('#MyObject')[0];

Mais je ne suis pas sûr que cela fonctionnera toujours.Tenez-vous-en à la première syntaxe.

Un objet jQuery est un ensemble d'éléments.Dans votre cas, un ensemble d'un élément.Cela diffère de certaines autres bibliothèques, qui encapsulent des éléments uniques et fournissent une syntaxe alternative pour les sélecteurs qui renvoient plusieurs correspondances.

Aaron W. et VolkerK déjà expliqué comment accéder au premier élément (index 0) de l'ensemble.

J'ai testé les déclarations d'Aaron sur tous les navigateurs dont je dispose sur ma box :

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

contre

$('#MyObject')[0];

Pour autant que je sache, ce n'est qu'une question de préférence personnelle.

Fonctionnellement, ces deux instructions sont équivalentes pour les éléments existants et inexistants.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 effectués, il n’était pas toujours possible de dire quelle variation était la 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.Les résultats de mes tests sont ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top