哪位大虾帮小弟看看这段代码,为什么获得元素是null
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>appendchild</title>
<script type="text/javascript">
var ul=document.getElementById('ul');
alert(ul);//输出:null
</script>
</head>
<body>
<ul id="ul">
<li>怎么获得元素</li>
</ul>
</body>
</html>
如果我这里把脚本放在<ul>元素之后,就可以得到该元素。
这里我就纳闷了,如果放在前面的话,也想获得元素,那应该怎么改了?我看到人家网页源代码大多都是放在head部分的,都没有问题的。小弟在线等啊。

解决方案 »

  1.   

    document.onload=function(){
           var ul=document.getElementById('ul');    
           alert(ul.id);
      
    }
    你写法的错误是在执行这段代码的时候,ul还没有加载,当然无法获得。。
    因此,这里必须把它写到onload事件中,等文档加载完毕再获取。。
      

  2.   

    呵呵,刚刚研究别人的代码,忽然看到了window.onload,我想起来的,不过你的也可行,谢谢了哈
      

  3.   

    晕,没有document.onload,只能用window.onload