我可以获得价值吗?

时间:2011-04-18 19:49:14

标签: javascript jquery

我有一些带有数字ID的元素。每个ID都在一个单独的范围内。我可以将该值作为数字来增加吗?我尝试作为文本,但它似乎不起作用...

var lastVal = $(".myID:last").text(); 
var newVal  = lastVal++;

Value <span class="myID">5</span>

5 个答案:

答案 0 :(得分:10)

将字符串转换为js中的数字,如下所示:

var num = parseInt(lastVal, 10);

答案 1 :(得分:1)

当你得到一个元素的.text()时,jQuery会返回一个字符串。你不能增加一个字符串,所以你必须使用parseInt()函数使它成为一个整数:

var lastVal = parseInt($(".myID:last").text(), 10);

现在lastVal包含一个整数。

答案 2 :(得分:1)

使用parseInt函数将其从字符串转换为数字:

var newVal  = parseInt(lastVal, 10);
newVal++;

parseInt的第二个参数radix是可选的,用于指定输入字符串的基数。如果未提供此参数,则会根据以下规则自动确定基准:

  • 如果字符串以“0x”开头,则假定基数为16.
  • 如果字符串以“0”开头,则假定基数为8.
  • 如果字符串以其他任何内容开头,则假定基数为10.

答案 3 :(得分:1)

要将字符串转换为数字,您可以使用parseInt函数。但要真正改变它(如果我理解你的意图正确),你想做:

var elem = $('.myID');
var num = parseInt(elem.text());
elem.text(num+1)

// <span class="myID">5</span>

答案 4 :(得分:1)

在这里结识:

$('#btn').click(function(){
   var lastVal = parseInt($("#txt").val(), 10); 
   var newVal  = ++lastVal;
})
  1. 您可以使用parseInt从文本中获取数值
  2. 尝试预先递增而不是发布此处。使用帖子增量,您将lastVal的值分配给newVal,然后然后递增(不会添加)。使用预增量,您可以在分配之前修改lastVal 的值(这是您要查找的内容)。
  3. <强> Sample here