使用document.write输出覆盖HTML问题

 今天学习了javascript第一部分,关于使用document.write()写入HTML文档流。但在教程上看到一行提示:您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。这使我有些困惑,然后查了网上的各种说法,最后大概的总结一下。

   所谓的HTML文档加载,其实HTML文档是自上而下的加载HTML表示的内容,当整个页面内容都加载完毕之后,再调用document.write()这方法会将显示的页面内容都会清楚。

   当时我困惑的地方是,在文档加载完毕之后如何再使用这方法?在我之前所以为的是这样的代码


01. <html>
02. <head>
03. </head>
04. <body>
05. <p>文档第一行</p>
06. <p>文档第二行</p>
07. <script type="text/javascript">
08. //这是我原本所认为的文档之后添加了js
09. document.write('会不会将前两行文字清除呢?');
10. </script>
11. </body>
12. </html>

以为所谓的在文档加载完后再调用该方法是这js语句在文档的最后,结果用上面的这样的写法其实不会清除,因为我想的是错误的。

后来了解之后,所谓的在文档加载完后再使用这方法是这样的:


01. <html>
02. <body>
03. <p>这是第一行文字</p>
04. <p>这是第二行文字<p>
05. <p  type="text/javascript">
06. function myFunction(){
07. document.write('这下应该会清除了吧?');
08. }
09. </script>
10. </body>
11. </html>

文档加载完的情况是显示第一到第三行字。然后所谓的再使用document.write()这方法,是通过点击第三行文字调用myFunction方法使用的,因此这是在文档加载完后使用document.write()的,所以整个页面的内容都要被清除覆盖掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值