document.write ,在有window.onload 的时候无效的问题

 <html>
<body>
<script type="text/javascript">
window.onload = function(){
document.write("<h1>1</h1>");
}
document.write("<h1>2</h1>");
</script>
</body>
</html>

这种情况下后面的document.write("

2

");是不执行的。没有onload则执行,请问这是什么原因。

不要再文档流关闭后调用document.write,这个输出会覆盖当前页面的内容,改用innerHTML或者DOM的api来操作

 document.body.innerHTML+='<h1>1</h1>'

window.onload是指加载后执行的函数,document.write(2)你没有调用怎么执行呢---------应该是这个样子吧

你弄错了。楼上的也回答错了。并不是没执行。而是先执行了。你放到onload函数内部的是等界面加载之后执行这是没错的。但你不放进去就会界面加载完成之前执行。也就是先执行了document.write("

2

"); 这是,界面内容编程了

2

,然后加载完成之后又替换成了
document.write("

1

");懂了吧。 为了更清楚,你换成 弹出alert 就知道了。

一般都没这么写的吧,,