在javascript中获取id作为数字..?

时间:2013-03-13 06:28:05

标签: javascript

一个简单的问题..

var x = document.getElementById('xNum');
var y = document.getElementById('xNum');
var result = x * y;

document.write(result);

<div id="xNum">20</div>
<div id="yNum">50</div>

它显示20和50.为什么不计算20 * 50?为什么它以整数形式出现,或者如何在div中得到数字?

感谢名单!

我没有得到任何结果:

var x = document.getElementById('xNum').innerHTML;
var y = document.getElementById('xNum').innerHTML;
var result = parseInt(x) * parseInt(y);

document.write(result);

8 个答案:

答案 0 :(得分:7)

使用parseInt并在其HTML上处理

var result = parseInt(x.innerHTML) * parseInt(y.innerHTML)

如果您不需要支持IE9的浏览器,则应使用textContent而不是innerHTML。

如果你的号码可能是浮动的,你应该查看parseFloat而不是

如果您需要能够处理012之类的数字,则应指定基数参数,因为parseInt可能会错误地解释它们。  在这种情况下,您应该使用parseInt(x.innerHTML,10)

答案 1 :(得分:5)

应该是

var x = document.getElementById('xNum').innerHTML;
var y = document.getElementById('yNum').innerHTML;
var result = x * y;

document.write(result);

答案 2 :(得分:3)

将它们解析为整数:

var x = document.getElementById('xNum');
var y = document.getElementById('yNum');

var result = parseInt(x.innerHTML, 10) * parseInt(y.innerHTML, 10);

答案 3 :(得分:2)

您获得的值是一个字符串,因此为了将其用作数字,您应该将其强制转换为整数(或浮点数):

var x = +document.getElementById('xNum').innerHTML;
var y = +document.getElementById('xNum').innerHTML;
var result = x * y;

我使用了一元+运算符,还有其他方法,如parseIntNumber构造函数等。

答案 4 :(得分:1)

到目前为止,可能的方法已经用尽,但这是textContent的一个例子:

var x = document.getElementById('xNum'),
y = document.getElementById('yNum'),
toIntNum = function(element) {
    return parseInt(element.textContent || element.innerText || 0, 10);
},
result;

result = toIntNum(x) * toIntNum(y);

Demo

答案 5 :(得分:0)

JS:

var x = document.getByElementId('xNum').innerHTML;
var y = document.getByElementId('xNum').innerHTML;
var result = parseInt(x) * parseInt(y);

document.write(result);

答案 6 :(得分:0)

你必须转换成int才能完成计算。默认情况下,该值视为字符串。

  var x = document.getByElementId('xNum');
var y = document.getByElementId('xNum');
var result = parseInt(x) * parseInt(y);  //use parseInt or parseDouble 

document.write(result);

<div id="xNum">20</div> <div id="yNum">50</div>

它给1000

答案 7 :(得分:0)

您必须在javascript中使用parseInt()函数来解析字符串以返回整数。

您的代码应该是这样的:

   var x = document.getElementById('xNum');
   var y = document.getElementById('yNum');
   var result = parseInt(x.innerHTML) * parseInt(y.innerHTML); 

   document.write(result);