在了解document.getElementById()方法的时候,没有留意到被获取的对象的声明时的位置, 一个很基础很细节的问题.
比如说
这个js的引入位置:
-----------------a.js---------------------------------------------
var d=new Date(); var str; str=d.getTime(); str3=d.getFullYear() +"年"; document.write(str3); document.getElementById("div1").innerHTML=str; //alert(document.getElementById("div1"));
------------------------a.html------------------------------------------
<html> <head> </head> <body> <div id="div1"></div> </body> </html>
--------------------------------------------------------------------------
看似很简单的内容,但在引用a.js:
<script language="javascript" src="a.js" type="text/javascript"></script>
的时候就出现问题了.
如,
若在<head></head>中或者在div1前引入, 结果就会出错: document.getElementById("div1")==null.无效
原因: html属性的声明作用范围只在该属性之后.
解决办法: 在div1之后引入.