Javascript 为什么不是';内部HTML没有改变吗?它应该在点击时计数

Javascript 为什么不是';内部HTML没有改变吗?它应该在点击时计数,javascript,Javascript,为什么这样不行?我确信我的类名是正确的 document.querySelector(".up").addEventListener("click", function () { let status = document.querySelector(".counter").innerHTML; status++; }); 这是您应该做的,但是您必须确保您的innerHTML是一个数字 编辑: 因此,应该使用类似于pa

为什么这样不行?我确信我的类名是正确的

document.querySelector(".up").addEventListener("click", function () {
    let status = document.querySelector(".counter").innerHTML;
    status++;
});
这是您应该做的,但是您必须确保您的innerHTML是一个数字

编辑:

因此,应该使用类似于
parseInt()
的内容来解析
innerHTML
的值,因为它返回一个字符串

例如

document.querySelector(".up").addEventListener("click", function () {
    let value = parseInt(document.querySelector(".counter").innerHTML)
    document.querySelector(".counter").innerHTML = value++
});

但是确保innerHTML的值是一个数字

您创建一个变量,然后递增该变量。之后,您永远不会将结果实际分配给innerHTML。您需要为innerHTMLAlso分配一个值,innerHTML返回一个字符串,最好先将其解析为一个数字,然后再对其执行任何操作:
let status=parseInt(document.querySelector(.counter”).innerHTML)这里有一点需要解包,其他评论员已经回答了您最初的问题。要考虑的其他一些事情:为什么
.innerHTML
?如果该元素中有标记呢?您将无法在类似
hi

的对象上使用增量运算符。为什么不尝试从
.innerText
中选择
parseInt()
?谢谢!我明白!那看起来是我本可以做的。我试图理解的其他注释。这会产生“后缀操作中的左侧表达式无效”,因为您只能对变量而不能对表达式执行
++
。@peter,我已编辑了答案
document.querySelector(".up").addEventListener("click", function () {
    let value = parseInt(document.querySelector(".counter").innerHTML)
    document.querySelector(".counter").innerHTML = value++
});