Dans jQuery, quel est l'équivalent de document.getElementById("selectlist").value
?
J'essaie d'obtenir la valeur d'un élément de la liste de sélection.
Merci.
Dans jQuery, quel est l'équivalent de document.getElementById("selectlist").value
?
J'essaie d'obtenir la valeur d'un élément de la liste de sélection.
Merci.
Réponses:
«Equivalent» est le mot ici
Tandis que...
$('#selectlist').val();
...est équivalent à...
document.getElementById("selectlist").value
... il convient de noter que ...
$('#selectlist')
... bien que 'équivalent' ne soit pas la même chose que ...
document.getElementById("selectlist")
... car le premier renvoie un objet jQuery, pas un objet DOM.
Pour obtenir le ou les objets DOM à partir de jQuery, utilisez ce qui suit:
$('#selectlist').get(); //get all DOM objects in the jQuery collection
$('#selectlist').get(0); //get the DOM object in the jQuery collection at index 0
$('#selectlist')[0]; //get the DOM objects in the jQuery collection at index 0
Le chaos est parfait, mais pour ce genre de questions, vous devriez consulter la documentation de Jquery en ligne - elle est vraiment très complète. La fonctionnalité que vous recherchez est appelée «sélecteurs jquery»
Généralement vous le faites $('#ID').val()
- le .afterwards peut faire un certain nombre de choses sur l'élément qui est renvoyé par le sélecteur. Vous pouvez également sélectionner tous les éléments d'une certaine classe et faire quelque chose pour chacun d'eux. Consultez la documentation pour quelques bons exemples.
Cela peut être fait de trois manières différentes, bien qu'elles soient toutes presque identiques
Javascript façon
document.getElementById('test').value
Manière Jquery
$("#test").val()
$("#test")[0].value
$("#test").get(0).value
Pour ceux qui se demandent si les sélecteurs d'identifiant jQuery sont plus lents que document.getElementById, la réponse est oui, mais pas à cause de l'idée préconçue qu'il recherche dans tout le DOM à la recherche d'un élément. jQuery utilise en fait la méthode native. C'est en fait parce que jQuery utilise d'abord une expression régulière pour séparer les chaînes du sélecteur à vérifier, et bien sûr en exécutant le constructeur:
rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/
Alors que l'utilisation d'un élément DOM comme argument revient immédiatement avec 'this'.
Donc ça:
$(document.getElementById('blah')).doSomething();
Sera toujours plus rapide que cela:
$('#blah').doSomething();
Dans certains cas, je ne me souviens pas pourquoi mais $('#selectlist').val()
je ne renvoie pas toujours la valeur d'élément correcte, je l'utilise donc à la $('#selectlist option:selected').val()
place.