2010-06-18 4 views
1

Alors je reçois un ensemble d'éléments de forme que je veux extraire les valeurs, en utilisantLa variable jQuery element ne semble pas être accessible?

var inputs = $("input.row_2"); 
inputs[0].val() 

Quand je lance, je me dis que val n'est pas une méthode valable.

Qu'est-ce que je fais mal?

Devrait être facile ..
Merci!

Répondre

1

inputs[0] renvoie l'élément DOM, donc inputs[0].value aura ce que vous voulez.

Vous pouvez également utiliser inputs.eq(0).val() qui ne se plaindra jamais que inputs[0] est indéfini s'il n'y a pas de correspondance.

.eq() retourne un objet jQuery (non DOM), par opposition à .get() qui est aussi ce que vous obtiendrez de l'aide [0]

0

Un objet JQuery se comporte comme un ensemble d'éléments DOM. Par conséquent, inputs[0] renvoie l'élément DOM brut, pas un wrapper jQuery.
Étant donné que les éléments DOM bruts n'ont pas de méthode val(), vous obtenez une erreur.

Pour appeler des méthodes jQuery sur un élément spécifique, vous devez appeler le eq() method, comme ceci:

inputs.eq(0).val(); 

Dans votre cas, vous pouvez aussi simplement obtenir le de l'élément DOM brut propriété value, comme ceci:

inputs[0].value 

Notez, cependant, que cela ne se comportera pas comme val() jQuery pour <select> les éléments.

0
$('input.row_2').first().val(); 
Questions connexes