$j("#divID").val()
fonctionnent très bien.
Par le jQuery documentation, .val()
retourne la valeur du premier élément de l'ensemble des éléments qui correspondent.
Il est intéressant de comprendre conceptuellement comment travaille jQuery afin de voir pourquoi cela fonctionne de cette façon. Le résultat de tout le sélecteur de requête est un objet jQuery. C'est que l'objet jQuery qui contient la multitude de méthodes jQuery offre. .val()
est l'une de ces méthodes sont des choses comme .fadeIn()
, .hide()
, etc... Ces méthodes ne sont pas des méthodes sur un objet DOM, mais les méthodes d'un objet jQuery. Parce que jQuery objets sont d'usage général et peut contenir 0, 1 ou plusieurs objets DOM dans leur tableau interne, vous obtenez le même objet jQuery arrière à partir d'un sélecteur jQuery appel si les résultats sont 0, 1 ou plusieurs objets DOM en elle.
Ainsi, $j("#divID")
qui ne contient qu'un seul objet renvoie au même type d'objet que $j(".rows")
qui peuvent contenir des centaines d'objets DOM. Cela simplifie grandement jQuery programmation parce que vous n'avez pas à faire les choses différemment selon le nombre d'objets en revenir à partir du sélecteur de requête.
Lorsque vous vous référez à l' $j("divID")[0]
, vous avez accès à l'objet jQuery interne de tableau d'objets DOM (qui a été renseignée sur le sélecteur de requête) et récupérer le premier objet DOM dans ce tableau. À ce stade, vous aurez un objet DOM, pas un objet jQuery et vous pouvez utiliser DOM normal de méthodes ou d'attributs sur elle. Parfois c'est nécessaire (pour aller chercher le réel de l'objet DOM), mais généralement, il est plus facile de simplement utiliser les méthodes jQuery fournit sur l'objet jQuery. Il y a beaucoup d'avantages à les utiliser comme vous pouvez enchaîner plusieurs demandes de la plupart des méthodes, et il va se répéter sur tous les objets DOM internes tableau pour vous automatiquement.
Par exemple, vous vous disant ceci: $j("rows-even").hide()
et 20 lignes avec cette classe, alors tous d'entre eux chaque être opéré par le hide() méthode sans plus de code que cela. De vous pourrait chaîne de plusieurs méthodes comme ceci: $j("rows-even").slideUp().slideDown()
. Dans ce cas, vous êtes en cours d'exécution d'une animation et jQuery va de la chaîne de ces deux animations ensemble, automatiquement à partir de la deuxième, lorsque la première se termine. Il est très utile dans de nombreuses circonstances, et peut sauver une tonne de code sur ce qui aurait normalement dû être écrite à l'aide de la plaine de JS.