有关javascript和<div>的问题,请高手帮忙解释,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/02 04:54:22
如果说我有一段代码如下:

<div id="ha" style="position:absolute;top:100;left:100;"></div>
<script language="javascript">
document.getElementById["ha"].innerHTML="<h1>hhh</h1>";
</script>

把js放在<div>标签下方则能正常工作。但是放在<div>标签的上方就不行了。例如:

<script language="javascript">
document.getElementById["ha"].innerHTML="<h1>hhh</h1>";
</script>
<div id="ha" style="position:absolute;top:100;left:100;"></div>

(document.all["ha"]和直接写div的id名称都是一样,得把js放在div之下才能工作。)我用的ie6.
有没有办法使js在<div>之上就能工作的方法,为什么?我实在想知道,帮帮我吧,非常感谢!

<script language="javascript">
function ini(){
document.getElementById["ha"].innerHTML="<h1>hhh</h1>";
}
</script>
<div id="ha" style="position:absolute;top:100;left:100;"></div>
<script language="javascript">ini();</script>

不可以
HTML是按顺序加载的
因为执行 这段document.getElementById["ha"].innerHTML="<h1>hhh</h1>";
JS时候, 下面那个DIV还没有加载呢
就是 还不存在 ha这个DIV, 所以当然取不到了

使用onload事件

因为

document.getElementById["ha"].innerHTML="<h1>hhh</h1>";

这句话用到了,'ha'这个ID,要是放在上面,代码从上到下执行,在这之前,跟

本没有这个'ha'这个ID.

要是放到后面就不一样.

http://hi.baidu.com/iostream210 ,这里有更多你想要的答案

因为js的执行顺序是从上往下的,如果你把
<script language="javasc