错误提示“为空或不是对象”的解决方法

时间:2021-02-12 18:29:57

错误提示“为空或不是对象”的解决方法

 

今天调试首页,Companion.js 提示,countdown 为空或不是对象。

我检查了一下 javascript 代码,发现没有什么问题。是不是 include 了其它页面有相同的名字的 HTML Tag 呢?于是我把 countdown 名字改成 cdown,结果还是提示错误。

忽然想起调试方法:alert();于是将以下代码调试了下。

1 var cdown = document.getElementById("cdown"); 
2 alert(cdown);

弹出的提示框为 null,在后面的循环中则提示 object。忽然灵光一闪,是不是需要把 id 为 cdown 的 div 写道 javascript 代码前面呢?于是就把代码拷了一下,程序不报错成功运行了。

document.getElementById为空或不是对象的解决方法

document.getElementById 为 null,原因: var countdown = document.getElementById("countdown");没有取到对象。

解决办法如下:

  • 在错误语句的下面加上alert(countdown);调试语句,看看是否有消息框弹出。
  • 如果没有弹出,检查HTML代码中的是否存在 "id = countdown" 的标签。
  • 如果标签存在,那么考虑<script>代码段的位置问题,切记包含有类似 getElement 代码<script>代码段必须出现在 HTML 的 Element 之后也就是说你把<script>代码段放到<html>标签之后然后尝试。
我的属于第三种情况。