JS document 获取 html对象的问题

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

上一篇:JavaScript快速总结之一


下一篇:css引入方式