Javascript,对来自 getElementByID 的值的 parseInt() 不起作用

Javascript, parseInt() on value from getElementByID doesn't work

几个小时以来,我一直在努力解决这个问题。究竟出了什么问题? 如果我理解正确的话,你从 getElementById 得到的值是一个字符串,所以我正在尝试将它解析为一个 int(以便将它用于总和),但是当我尝试将它打印为一个 int 时,它告诉我 NaN。

预期的结果是在测试 div 中打印值 123,替换文本 Click,但它只打印 NaN。

<div id="test" value="123" onclick="testFunction()">Click</div>

function testFunction() {
        var strVal = document.getElementById('test').value;
        var intVal = parseInt(strVal);
        document.getElementById('test').innerHTML = intVal;
}

div 没有固有的 value 属性。您需要直接访问该属性:

function testFunction() {
  var strVal = document.getElementById('test').getAttribute('value')
  var intVal = parseInt(strVal);
  document.getElementById('test').innerHTML = intVal;
}
<div id="test" value="123" onclick="testFunction()">Click</div>