Javascript不使用parseInt函数添加两个字符串号

Javascript不使用parseInt函数添加两个字符串号,javascript,html,Javascript,Html,我有两个部分,里面有数字。单击第一个中的数字时,第二个内容应显示第一个值的两倍 我使用了下面的代码,但没有工作 <div id="left"><a href="#" onclick="document.getElementById('right').innerHTML = (parseInt(document.getElementById('left').innerHTML) + parseInt(document.getElementById('left').innerHTM

我有两个
部分,里面有数字。单击第一个
中的数字时,第二个内容应显示第一个
值的两倍

我使用了下面的代码,但没有工作

<div id="left"><a href="#" onclick="document.getElementById('right').innerHTML = (parseInt(document.getElementById('left').innerHTML) + parseInt(document.getElementById('left').innerHTML))">1</a></div>

<div id="right">1</div>

1.
但产量正在以惊人的速度增长

NaN

有人能帮你写正确的代码吗?谢谢

元素
#left
包含整个锚点,因此您将获得锚点的所有HTML,而不仅仅是数字,这就是parseInt吐出NaN的原因

换言之:

document.getElementById('left').innerHTML
将返回:

<a href="#" onclick="document.getElementById('right').innerHTML = (parseInt(document.getElementById('left').innerHTML) + parseInt(document.getElementById('left').innerHTML))">1</a>

当将其解析为整数时,它返回NaN

您可以通过执行以下操作来解决此问题:

<div id="left"><a href="#" onclick="calc(this); return false;">1</a></div>
<div id="right">1</div>

<script type="text/javascript">
    function calc(elem) {
        var val = parseInt(elem.innerHTML,10) * 2;
        document.getElementById('right').innerHTML = val;
    }
</script>

1.
函数计算(elem){
var val=parseInt(elem.innerHTML,10)*2;
document.getElementById('right')。innerHTML=val;
}

值的两倍不是
value*2
不是
value*value
?我在做value+value;请再次检查代码如果
parseInt(x)
给出
NaN
NaN+y
y+NaN
NaN
@PaulS。那么正确的函数是什么呢?@logan我是说你提供了错误的输入,而不是使用了错误的函数。你可以将它解析为一个整数,它只会给你
NaN
。另外,我建议使用
.textContent
而不是
.innerHTML
来完成这项任务。@PaulS-嗯,我想是的。@PaulS。parseInt(document.getElementById('left')。textContent工作正常…谢谢