您的位置:首页 > 其它

绝不要使用在文档加载之后使用 document.write()。这会覆盖该文档

2015-11-16 20:01 253 查看
W3school-javascript第一部分,关于使用document.write()写入HTML文档流。教程后面有一行提示:您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。 但是从给出的示例来看document.write()写入的东西并没有覆盖原有的输出,例如:

<!DOCTYPE html>
<html>
<body>
helloworld!

<script>
document.write(Date());
</script>

</body>
</html>


输出为:

helloworld! Mon Nov 16 2015 19:55:45 GMT+0800


查了下网上的资料发现所谓的‘在文档加载后使用该方法’的含义并不是在文本后使用script标签进行文档内容写入,而是通过按钮响应等方式在全部页面加载完毕之后进行文本写入,例如:

<html>
<body>
<p>helloworld</p>
<a onclick='javascript:myFunction()'>hello</a>
<script>
function myFunction(){
document.write('这下应该会清除了吧?');
}
</script>
</body>
</html>


结果为:

helloworld
Hello


此时再点击hello页面会变化为:

这下应该会清除了吧?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: