错误提示“为空或不是对象”的解决方法
今天调试首页,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>标签之后然后尝试。
我的属于第三种情况。