点击递增按钮实现计数+1时出现[object HTMLParagraphElement]如何解决?
问题原因
- 代码中直接将DOM元素对象
countEl与数字1执行加法运算,JavaScript会自动将非字符串类型的对象转为字符串参与运算,DOM元素对象转字符串的默认结果就是[object HTMLParagraphElement],和1拼接后就出现了你看到的错误显示。 - 同时代码没有正确读取元素上存储的计数文本值,也没有做类型转换,即使修改为读取
textContent,不转数字的情况下也会出现字符串拼接的问题(比如初始值0是字符串,+1会变成01而不是1)。
修复方案
修改JS代码如下即可:
let countEl = document.getElementById('count-el'); function increment() { // 读取元素当前文本值转为数字,加1后赋值回元素展示 countEl.textContent = Number(countEl.textContent) + 1; }
内容的提问来源于stack exchange,提问作者devolution
相关产品推荐
相关产品推荐

