Quelle est la meilleure façon d'obtenir l'élément DOM sous-jacent par ID dans jQuery?

StackOverflow https://stackoverflow.com/questions/989865

  •  13-09-2019
  •  | 
  •  

Question

Cela ressemble à une question vraiment fondamentale. Disons que je l'élément de formulaire suivant

<select id="mySelect"> 

...

En utilisant jQuery, disons que je veux l'obtenir par ID afin que je puisse accéder directement à l'un de ses attributs comme selectedIndex.

ne pense pas Je peux utiliser

var selectedIndex = $("#mySelect").selectedIndex;

parce que le sélecteur # retourne un tableau des éléments. Si je veux accéder à la sélection fait élément DOM, alors je dois appeler

var selectedIndex = $("#mySelect").get(0).selectedIndex;

Est-ce exact? Y at-il un sélecteur qui me laisser directement à l'élément DOM sans avoir à faire un « appel supplémentaire » pour obtenir (0)?

Je demande parce que je viens de Prototype où je peux dire:

var selectedIndex = $('mySelect').selectedIndex;
Était-ce utile?

La solution

Il y a plusieurs façons jQuery pour obtenir la valeur de la <select> qui ne vous obligent pas à accéder à l'élément DOM réel. En particulier, vous pouvez simplement le faire pour obtenir la valeur de l'option sélectionnée:

$('#mySelect').val();

Parfois, cependant, vous ne souhaitez accéder à un attribut DOM particulier pour une raison quelconque.

Alors que la syntaxe .get(0) fournie est correcte, il est également possible sans l'appel de fonction:

$("#mySelect")[0].selectedIndex;

Une collection jQuery se comporte comme un objet en forme de matrice et expose les éléments DOM réels à travers elle.

Autres conseils

$("#mySelect").val() fera l'affaire.

$("#mySelect option:selected").val()
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top