继续收到此错误,不明白为什么
未捕获的TypeError:无法读取属性< innerHTML'为null
我的代码是:
function write(message) {
document.getElementById('message').innerHTML += message + '<br/>';
}
function calculateCircumference (diameter) {
return diameter * 3.14;
}
write (calculateCircumference(4));
答案 0 :(得分:7)
不可否认,错误信息的含义并不完全透明(但至少你得到一个错误 - jQuery会默默地做什么!)
这意味着document.getElementById('message')
的结果为空。 Looking at the docs你会发现,当找不到元素时会发生这种情况。
找不到元素的主要原因是因为它尚未存在。
<script>// do something with document.getElementById('message');</script>
<div id="message"></div>
以上将失败,因为message
尚不存在。在div之后移动脚本将使其工作。
旁注:3.14太不准确了。请改用Math.PI
,它与JavaScript中的数字一样准确。
答案 1 :(得分:2)
似乎在DOM准备好之前执行了代码
window.onload = function(){
function write(message) {
document.getElementById('message').innerHTML += message + '<br/>';
}
function calculateCircumference (diameter) {
return diameter * 3.14;
}
write (calculateCircumference(4));
}
答案 2 :(得分:0)
如果设置了ID,但仍然出现相同的错误,请确保正确完成了html的打开和关闭标签。