Этот код не работает:
var number = $(this).find('.number').text();
var current = 600;
if (current > number){
// do something
}
HTML:
<div class="number">400</div>
Похоже, возникла проблема с преобразованием text ()
из текстового значения в число.
Каково решение?
Всегда используйте parseInt
с основанием системы счисления в качестве второго параметра, иначе вы получите неожиданные результаты:
var number = parseInt($(this).find('.number').text(), 10);
Однако популярным вариантом является использование +
как унитарный оператор. Это всегда будет преобразовывать с основанием 10 и никогда не будет вызывать ошибку, просто верните ноль NaN
, который можно проверить с помощью функции isNaN ()
, если это недопустимое число:
var number = +($(this).find('.number').text());
myInteger = parseInt(myString);
Это стандартная функция javascript.
var number = parseInt($(this).find('.number').text());
var current = 600;
if (current > number)
{
// do something
}
Используйте метод 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
}
Не забудьте указать значение системы счисления 10, которое сообщает parseInt, что это в базе 10.