Incrémentation d'une chaîne de caractères
Résolu
Jizzy
-
Jizzy -
Jizzy -
Bonjour à tous, j'ai un projet à terminer pour la semaine prochaine et je galère au niveau du javascript. En l'occurrence, mon pb est le suivant :
dans mon code html j'ai un <p id="mwj"> 0 </p>. Disons que je veux incrémenter ce 0 à l'aide d'un bouton situé plus bas dans le code. J'associe donc ce bouton à une fonction JS du genre :
function increase(){
var nb_mwj = document.getElementById('mwj');
parseInt(nb_mwj);
nb_mwj++;
document.getElementById("mwj").innerHTML = nb_mwj;
}
Or, j'obtiens un "NaN". Je ne vois pas pourquoi, quelqu'un saurait-il m'expliquer please ? :(
1 réponse
-
Bonjour
Cette ligneparseInt(nb_mwj);
est une erreur pour deux raisons :
Le paramètre que tu passes à parseInt est un élément, alors qu'il faut une chaîne de caractères. Tu devrais mettre nb_mwj.innerHTML
Ensuite, tu ne fais rien du résultat de parseInt. Il faut le mettre dans une variable pour pouvoir l'utiliser. Tu as le droit de reprendre nb_mwj.
Ce qui donne :nb_mwj=parseInt(nb_mwj.innerHTML);
Il serait plus simple (et efficace) de ne pas appeler getElementNyId deux fois, et d'écrire:function increase(){ var nb_mwj = document.getElementById('mwj'); nb_mwj.innerHTML = parseInt(nb_mwj.innerHTML)+1; }