我有一个设计用于在目标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>
答案 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>