使用JavaScript对DOM对象执行算法的正确方法是什么?

时间:2016-09-23 23:33:23

标签: javascript dom

我一直在尝试使用以下代码从段落标记中的值中添加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?

2 个答案:

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