jQuery以数字形式获取文本
此代码不起作用:jQuery以数字形式获取文本,jquery,variables,Jquery,Variables,此代码不起作用: var number = $(this).find('.number').text(); var current = 600; if (current > number){ // do something } HTML: 400 似乎将text()从类似文本的值转换为数字时出现问题 解决方案是什么?myInteger=parseInt(myString) 这是一个标准的javascript函数 var number = parseInt($(this).fi
var number = $(this).find('.number').text();
var current = 600;
if (current > number){
// do something
}
HTML:
400
似乎将text()
从类似文本的值转换为数字时出现问题
解决方案是什么?myInteger=parseInt(myString)代码>
这是一个标准的javascript函数
var number = parseInt($(this).find('.number').text());
var current = 600;
if (current > number)
{
// do something
}
这应该可以解决问题。使用javascript parseInt方法()
不要忘记指定基数值10,它告诉parseInt它在基数10中。始终使用带有基数(base)的parseInt
作为第二个参数,否则会得到意外的结果:
var number = parseInt($(this).find('.number').text(), 10);
然而,一种流行的变体是使用+
作为酉运算符。这将始终以10为基数进行转换,并且不会抛出错误,只需返回零NaN
,如果它是无效数字,则可以使用函数isNaN()
对其进行测试:
var number = +($(this).find('.number').text());
如果有人来这里用像我这样的小数点来做这件事:
myFloat=parseFloat(myString)代码>
如果您只需要一个Int,其他答案中已经详细介绍了这一点。+
不会为无效数字返回零,它将返回NaN
。在我看来,这比parseInt()更理想,因为parseInt将尝试在格式错误的字符串开头查找一个数字,这可能会导致混淆(例如,1000变为1)+str
与编写Number(str)
相同。我在使用parseInt()时遇到的问题是,当我得到一个NaN结果时,它会扰乱计算。我通过使用位运算符修复了这个问题。例如:parseInt($(this).find('.number').text()| 0)
.text()
这不是一个函数。我用了这个,它说“.text()不是函数”@ChamindaBandara那么你可能做错了什么,比如没有在jQuery对象上使用它。如果您需要帮助,请创建一个新问题来描述您的问题。如果您想要浮点而不是整数,则可以使用parseFloat()。供参考
var number = parseInt($(this).find('.number').text(), 10);
var current = 600;
if (current > number){
// do something
}
var number = parseInt($(this).find('.number').text(), 10);
var number = +($(this).find('.number').text());