在了解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之后引入.