2010-01-11 6 views
0

Quel est l'équivalent de ce script dans jQuery (si un était un élément HTML)?Comment accomplir la variable ++ dans jQuery?

a.value++; and ++a.value; 

Je suppose qu'il utilise val(), mais il semble inefficace d'utiliser:

a.val(a.val()+1); 
+0

La question est plutôt vague. Si 'a' est juste une variable JavaScript normale, vous pouvez utiliser' ++ 'si vous le souhaitez; Rien à voir avec jQuery. La réponse de Tatu s'adresse si vous essayez d'utiliser la valeur d'un élément HTML, mais c'est une conjecture totale avec la question telle qu'elle se présente maintenant. –

+0

Autre chose que vous devriez probablement prendre en compte, si vous voulez qu'il s'applique simplement au premier élément correspondant, si vous voulez un ensemble d'éléments incrémentés ou si vous voulez que tous les éléments aient la même valeur. Comme il se trouve 'a.val (a.val() + 1);' définira en fait la valeur de * tous * les éléments correspondants, à la valeur incrémentée de * l'élément * premier * correspondant. – Graza

+0

Je suis désolé d'être vague. J'ai rencontré ce problème en essayant de stocker la valeur d'un élément d'entrée HTML avant de l'incrémenter de un. Je l'ai fait avant d'utiliser JavaScript normal, mais j'essayais d'accéder à la valeur en utilisant juste jQuery. Par conséquent, la réponse de Tatu est exactement ce que je voulais, merci. –

Répondre

6

jQuery est JavaScript, et les deux a++ et ++a travail en JavaScript. Je suppose que vous essayez d'augmenter la valeur d'un élément d'entrée par un – malheureusement, il n'y a pas de raccourci pour cela. Il vous suffit d'écrire:

a.val(parseInt(a.val()) + 1); 

Rappelez-vous d'utiliser parseInt, sinon la valeur actuelle sera interprétée comme une chaîne et 1 sera concaténé au lieu de ajouté.

a++ ne fonctionnera évidemment pas comme dans votre cas le a est un objet jQuery.

+0

Jusqu'à maintenant, je n'ai jamais eu de problème avec un ++ ou un ++ interprétant quelque chose comme une chaîne. Note rapide cependant: Selon jQuery Cookbook, ++ a s'exécute plus vite qu'un ++. La différence est minime et peut être ignorée si vous n'êtes pas dans une boucle massive – Mike

+7

'parseInt (..., 10)' pour éviter les problèmes octaux. '+ 1' ou seul va lancer' Number', pas nécessairement un entier. – bobince

Questions connexes