在使用document.getElementById时,遇到个奇怪的问题,提示“document.getElementById为空或不是对象”。经分析,document.getElementById不在function中,且其放置在页面body标签前,而html中的元素element是按页面顺序载入/执行的;当执行到document.getElementById("xxx")时,body中的这个id为xxx的元素尚未载入,故出现这种问题。
附网络转载:
[url]http://www.cnblogs.com/lancelang/archive/2007/11/02/946679.html[/url]
[quote]
document.getElementById为空或不是对象的解决方法
1. 'null'为空或不是对象:
<script type="text/javascript"> 里面加个defer=true属性试试看,
即:<script type="text/javascript" defer=true>
2. document.getElementById为null
原因: var titab=document.getElementById("titletab");没有取到对象
解决办法:
1.在错误语句的下面加上alert(titab);调试语句,看看是否有消息框弹出
2.如果没有弹出,检查HTML代码中的是否存在"id=titletab"的<table>标签(要仔细哦,一个字母都不能错的)
3.如果标签存在,那么考虑<script>代码段的位置问题,切记包含有类似getElement代码<script>代码段必须出现在HTML的Element之后也就是说你把<script>代码段放到<html>标签之后然后尝试
[/quote]
附网络转载:
[url]http://www.cnblogs.com/lancelang/archive/2007/11/02/946679.html[/url]
[quote]
document.getElementById为空或不是对象的解决方法
1. 'null'为空或不是对象:
<script type="text/javascript"> 里面加个defer=true属性试试看,
即:<script type="text/javascript" defer=true>
2. document.getElementById为null
原因: var titab=document.getElementById("titletab");没有取到对象
解决办法:
1.在错误语句的下面加上alert(titab);调试语句,看看是否有消息框弹出
2.如果没有弹出,检查HTML代码中的是否存在"id=titletab"的<table>标签(要仔细哦,一个字母都不能错的)
3.如果标签存在,那么考虑<script>代码段的位置问题,切记包含有类似getElement代码<script>代码段必须出现在HTML的Element之后也就是说你把<script>代码段放到<html>标签之后然后尝试
[/quote]
解决getElementById问题
本文探讨了在使用document.getElementById时遇到的“为空或不是对象”问题,并提供了详细的解决步骤。问题通常发生在该方法调用早于目标元素加载完成之时。文章建议通过调整脚本位置、检查元素ID拼写以及使用defer属性等方法来解决这一常见错误。
3544

被折叠的 条评论
为什么被折叠?



