html文档中document.write在onload事件重写页面

看一段代码<head><script>functiontest(){document.write('test')}</script></head><bodyonload=... 看一段代码
<head>
<script>function test(){document.write('test')}</script>
</head>
<body onload='test();'> 位置1
<h1>XXX</h1>
<script>test();</script> 位置2
<h2>YYY</h2>
</body>
在html中,若位置1有document.write,则整个页面都会重写,同理在什么img,iframe等的onerror事件中也会。
而位置2中若有document.write,则页面不会重写,XXX,YYY都还是在的。
这个DOM的原因吗?不同的DOM对象,在onload,onerror事件时原DOM已渲染完成?
有朋友能解释一下吗?最好推荐一些这方面的DOM资料。
展开
 我来答
sango522
推荐于2016-11-01 · TA获得超过213个赞
知道答主
回答量:36
采纳率:0%
帮助的人:25.2万
展开全部

 write方法只有在解析文档的时才能用来生成内容到当前页面中,否则它将清除当前页面的内容。

  1. onload的执行是在文档加载完毕后。此时,若是调用write的话肯定是会清除当前文档的内容。

  2. 位置2的时候文档还在渲染中,这时候的write方法会按照出现在文档中的顺序向文档中生成内容,并使它成为文档的一部分。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式