Ce code ne fonctionne pas:
var number = $(this).find('.number').text();
var current = 600;
if (current > number){
// do something
}
HTML:
<div class="number">400</div>
Il semble y avoir un problème avec la conversion de text()
d’une valeur de type texte en nombre.
Quelle est la solution?
Utilisez toujours parseInt
avec un fond (base) comme second paramètre, sinon vous obtiendrez des résultats inattendus:
var number = parseInt($(this).find('.number').text(), 10);
Une variante populaire consiste toutefois à utiliser +
en tant qu’opérateur unitaire. Cela convertira toujours avec la base 10 et ne jettera jamais une erreur, il suffit de retourner zéro NaN
qui peut être testé avec la fonction isNaN()
s'il s'agit d'un nombre invalide:
var number = +($(this).find('.number').text());
Utilisez la méthode javascript parseInt ( http://www.w3schools.com/jsref/jsref_parseint.asp )
var number = parseInt($(this).find('.number').text(), 10);
var current = 600;
if (current > number){
// do something
}
N'oubliez pas de spécifier la valeur de base 10, qui indique à parseInt qu'elle se trouve en base 10.
var number = parseInt($(this).find('.number').text());
var current = 600;
if (current > number)
{
// do something
}
number = parseInt(number);
Cela devrait faire l'affaire.