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

在W3School的JavaScript教程中有这样一个警告:

        请使用 document.write() 仅仅向文档输出写内容。

        如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖:

示例代码是这样的:

<!DOCTYPE html>
<html>
<body>
<h1>My First Web Page</h1>

<p>My First Paragraph.</p>
<button onclick="myFunction()">点击这里</button>

<script>
function myFunction()
{
document.write("糟糕!文档消失了。");
}
</script>
</body>
</html>


所谓的HTML文档加载,其实HTML文档是自上而下的加载HTML表示的內容,当整個页面內容都加载完毕之后,再调用document.write()这方法(function)会将显示的页面内容都清除掉,相当于重新加载。下面这段代码没有调用function,所以没有问题。

<html>
<head>
</head>
<body>
<p>文檔第一行</p>
<p>文檔第二行</p>
<script type="text/javascript">
//這是我原本所認为的文檔之後添加了js
document.write('會不會將前兩行文字清除呢?');
</script>
</body>
</html>

阅读更多
文章标签: javascript html
上一篇Javascript牛刀小试
下一篇JavaScript的变量及数据类型小结在 JavaScript 函数内部声明的变量
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭