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

posted @ 2013-10-19 10:26  kongfl888  阅读(1016)  评论(0编辑  收藏  举报