此代碼不起作用:jQuery的獲取文本數量
var number = $(this).find('.number').text();
var current = 600;
if (current > number){
// do something
}
HTML:
<div class="number">400</div>
似乎還有一些問題,從文本樣值轉換text()
到數。
什麼是解決方案?
此代碼不起作用:jQuery的獲取文本數量
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
}
number = parseInt(number);
這應該做的伎倆。
使用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
'+'不會爲無效返回零號碼,它會返回'NaN'。 IMO,這使得它比* parseInt()*更理想,因爲* parseInt *會嘗試在格式不正確的字符串的開頭找到一個可能導致混淆的數字(例如,1,000變爲1)。 '+ str'與寫入'Number(str)'相同。 – 2010-08-23 11:15:24
Doh,你說得對。 – RoToRa 2010-08-23 12:16:35
當我使用parseInt()時遇到了一些問題,那就是當我得到NaN結果時,它會搞亂計算。我通過使用一個按位運算符來解決這個問題。一個例子是: 'parseInt($(this).find('。number').text()|| 0)' – 2016-10-03 17:26:05