不断出现此错误,不知道原因
未捕获的类型错误:无法读取空值的属性"innerHTML"
我的代码是:
function write(message) {
document.getElementById('message').innerHTML += message + '<br/>';
}
function calculateCircumference (diameter) {
return diameter * 3.14;
}
write (calculateCircumference(4));
4条答案
按热度按时间waxmsbnn1#
诚然,错误消息的含义并不完全透明(但至少您得到了一个错误- jQuery将只是默默地什么也不做!)
这意味着
document.getElementById('message')
的结果为null。Looking at the docs您将发现当元素找不到时会发生这种情况。未找到元素的主要原因是因为它还不存在。
上面的操作会失败,因为
message
还不存在。将脚本移到div后面会使它工作。旁注:3.14太不精确了,用
Math.PI
代替,它和JavaScript中的数字一样精确。tyu7yeag2#
看起来您的代码在DOM准备就绪之前就执行了
c6ubokkw3#
如果你已经设置了你的id,你仍然得到同样的错误,确保你已经做了你的html的开始和结束标记正确。
nhn9ugyo4#
此错误通常是在元素未加载而js函数试图访问它时导致的。
尝试在
</body>
之前的文档最末尾添加<script>
标记或检查元素的名称是否键入错误。