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

标签 javascript html

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

我使用了以下代码,但工作。

<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>

但是输出是这样的

NaN

有人可以帮忙提供正确的代码吗?谢谢

最佳答案

元素#left包含整个 anchor ,因此您将获取 anchor 的所有 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 ?

FIDDLE

您可以通过以下方式解决:

<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>

FIDDLE

关于Javascript不使用parseInt函数添加两个字符串数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17641709/

相关文章:

javascript - 用状态来 react 条件渲染

javascript - JSON 只用于 JavaScript 吗?

html - 使用 Ruby 从登录可访问网页后 javascript 中提取值

javascript - jQuery 弹出框未显示

javascript - 锚定在可点击的 div 中

javascript - 可以禁用 IE6 的 jQuery 吗?

javascript - jQuery preventDefault 并不总是有效

python - 连接 Python、MySQL 和 HTML

html - 响应式 HTML 表格中缺少右侧填充

javascript - 如何在jquery中对动态生成的表进行排序