IE下的document.getElementById()问题

今天又遇到一件诡异的事情,我需要实现一个简单的脚本,在正式开发之前我习惯先写一个小程序测试一下,没想到刚一开始就碰壁了。

<div id="box"></div>
<script type="text/javascript">
	var box = document.getElementById("box");
	alert(box);
</script>

document.getElementById()。这个鬼东西哥都写了无数次了,这次竟然发现怎么测试都不对?!在火狐和谷歌浏览器下都弹出[object HTMLDivElement],没有任何问题,但是到了IE6、7、8下面,竟然告诉哥是null!

靠,这是怎么搞的?这个函数用脚也不会打错啊!

一番纠结,一番苦恼以后,终于找到了问题所在,万恶的IE!

<body>
    <div id="box"></div>
</body>
<script type="text/javascript">
	var box = document.getElementById("box");
	alert(box);
</script>

好吧,IE,I服了You!给div的外面包上body,一切就OK了。