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工作正常…谢谢