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