关于Js的getElementById(" ")无法的到对应对象的有关问题

关于Js的getElementById(" ")无法的到对应对象的问题

为什么getElementById()无法的到对应表单对象呢?
用getElementsByName()就可以啊 ;

checkbox.html代码如下:

<html> 
<head> 
<script type="text/javascript" src="./JS/test.js"></script>
</head>

<body>
<form id="a" name="a">
<input type="text" name="input" value="111"/>
</form>
</body>


text.js代码如下:


 function test(){
var b=document.getElementById('a');
if(b){
alert("11");
}else{
alert("222");
}
}
 
test();

------解决思路----------------------
html代码是从上到下边加载边执行的。
你执行var b=document.getElementById('a');的时候<form id="a" name="a">还没有加载完成
------解决思路----------------------
getElementById 无法找到因为运行时document未加载
getElementsByName 能找到元素因为该方法返回NodeList 该数组会随dom变化