如何在里面获取数值

时间:2012-02-10 15:48:06

标签: javascript jquery

尝试计算已检查tr的总和。

var totalqt=0;
totalqt=totalqt + $(this).closest("tr").find("#qt").text();

它获取正确的值但不像数字一样使用它。例如,如果第一个td的值为1,第二个td的值为2,则警告12而不是1 + 2。尝试了text()和html()。结果相同。怎么了?

4 个答案:

答案 0 :(得分:5)

totalqt = totalqt + parseInt($(this).closest("tr").find("#qt").text(), 10);

答案 1 :(得分:4)

您需要将值解析为数字,这将使用parseInt(val,base)或parseFloat(val,base):

在您的示例中,您将使用:

var totalqt=0;
totalqt=totalqt +parseInt( $(this).closest("tr").find("#qt").text(), 10);

答案 2 :(得分:3)

您需要将字符串解析为int,以便您可以像使用int一样使用它。

var totalqt=0;
totalqt=totalqt + parseInt($(this).closest("tr").find("#qt").text(), 10);

10是因为:

  

问题在于parseInt如何猜测你号码的基数。读   parseInt规范。它尝试了,而不是总是默认为基数10   猜测,如果第一个字符是'0',它认为你想要   解析为八进制数,如果它以'0x'开头,它会认为你   想要十六进制。

答案 3 :(得分:2)

text()返回一个字符串。你想要一个号码。使用parseInt

var totalqt = 0;
totalqt = totalqt + parseInt($(this).closest("tr").find("#qt").text(), 10);