我一直在尝试使用以下代码从段落标记中的值中添加1,但只获取NaN作为输出值:
<p id="myNumber">5</p>
<button onclick="increment()">Click</button>
<script>
function increment() {
document.getElementById("myNumber").innerHTML = document.getElementById("myNumber").value + 1;
}
</script>
有谁可以说为什么输出NaN?
答案 0 :(得分:4)
它是NaN,因为.value
元素的<p>
未定义。结果你这样做了:
undefined + 1
哪个是NaN。根据结构使用.textContent
或.innerHTML
从元素中获取值,然后使用parseInt。
function increment() {
document.getElementById("myNumber").textContent = parseInt(document.getElementById("myNumber").textContent,10) + 1;
}
答案 1 :(得分:0)
您需要将innerText
的{{1}}(String)属性解析为整数:
myNumber