此代码不起作用:
var number = $(this).find('.number').text();
var current = 600;
if (current > number){
// do something
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div class="number">400</div>
Run Code Online (Sandbox Code Playgroud)
text()
从类似文本的值转换为数字似乎存在一些问题.
解决办法是什么?
RoT*_*oRa 112
始终使用parseInt
基数(基数)作为第二个参数,否则您将得到意外的结果:
var number = parseInt($(this).find('.number').text(), 10);
Run Code Online (Sandbox Code Playgroud)
然而,流行的变体是+
用作单一运算符.这将始终转换为基数10并且永远不会抛出错误,只返回零 NaN
,isNaN()
如果它是无效数字,可以使用该函数进行测试:
var number = +($(this).find('.number').text());
Run Code Online (Sandbox Code Playgroud)