数学脚本不起作用我希望它如何工作

时间:2018-06-25 06:48:54

标签: javascript

我有一个设计用于在目标p标签中获取值的脚本,该标签由数字组成,我最终将其用作加法问题是

答案假定为3而不是12,脚本将加号视为 串联情况,那么如何在这种情况下使脚本对变量一和二进行加法运算?

这是我的代码

var one= document.querySelector('#oneEx').innerHTML;
var two= document.querySelector('#twoEx').innerHTML;

var total= one+two;

document.write(total);
.mathDesign{
  display: inline-block;
}
<p id='oneEx' class='mathDesign'>1</p>
<p class='mathDesign'>+</p>
<p id='twoEx' class='mathDesign'>2</p>
<p class='mathDesign'>=</p>

2 个答案:

答案 0 :(得分:2)

@fsofb,当您获取innerHTML时,则var类型为HTML内容。所以基本上您的“ +”在这里连接两个字符串值而不是整数。因此,将该字符串转换为整数并尝试。

转换您的

 var total= one+two;

使用

 var total= parseInt(one)+parseInt(two);

它有效!!

答案 1 :(得分:2)

您需要先将其转换为数字,然后再添加。 innerHTML总是返回一个字符串。因此,要添加它们,请先转换为数字。 parseInt()用于整数,parseFloat()用于浮点,或者仅是Number()

var one= document.querySelector('#oneEx').innerHTML;
var two= document.querySelector('#twoEx').innerHTML;

var total= Number(one) + Number(two);

document.write(total);
.mathDesign{
  display: inline-block;
}
<p id='oneEx' class='mathDesign'>1</p>
<p class='mathDesign'>+</p>
<p id='twoEx' class='mathDesign'>2</p>
<p class='mathDesign'>=</p>