javascript的document.write

部分代码:
<script language="JavaScript">
function print() {
document.write("<h1>abc!<h1>");
}
</script>

<div>
hello!
</div>
<form>
<input id="abc" type="button" value="try" size=20 onClick="print()">
</form>
网页本来能显示hello和按钮,点完try按钮后整个屏幕只有abc了。
请问这是怎么回事?
怎样让所有内容同时显示在网页中?
谢谢!

-----------------------------------------------------------------
2011-9-16 10:44
满意回答

document.write("<h1>abc!<h1>");这个是输出到浏览器。会清空之前的。
用DIV的ID去控制,写到DIV里去
function print()
{
var div = document.getElementById("div_id");
div.innerHTML = div.innerHTML+"<h1>abc!<h1>"
}

<div id="div_id">
hello!
</div>
---------------------------------
追问

没想到不是简单问题,回头给你加分。

那为什么我在代码里直接这么写
<script language="JavaScript">
print();
</script>
就能输出而且没有清空其他内容呢?

----------------------------------
回答

document.write这是一个输出流,
<script language="JavaScript">
print();
</script>这是在页面没加载完的时候调用,所有和页面的输出是同一个流,
而如果是onclick事件调用的话,之前的输出流已经关闭,document.write会创建一个新的对象来输出,而浏览器容器是同一个,所有会覆盖。
--------------------------------------------
<script type="text/javascript">
把你每一行代码直接用document.write()就可以了。
document.write(“内容”);
对于src一行使用
document.write('src="' + fileNme + '" width="0" height="0" ');
就可以了。。。。
</script>

---------------------------------------------
功能:打开一个新文档,并擦除当前文档的内容。

语法:document.open(mimetype,replace)

参数:
mimetype:可选。规定正在写的文档的类型。默认值是"text/html"。
replace:可选。当此参数设置后,可引起新文档从父文档继承历史条目。
注1:open()方法将擦除当前HTML文档的内容,开始一个新的文档,新文档用write()方法或writeln()方法编写。

注2:调用open()方法打开一个新文档并且用write()方法设置文档内容后,必须记住用close()方法关闭文档,并迫使其内容显示出来。

注3:属于被覆盖的文档的一部分的脚本或事件句柄不能调用该方法,因为脚本或事件句柄自身也会被覆盖。

功能:close()方法可关闭一个由open()方法打开的输出流,并显示选定的数据。

语法:document.close()

参数:无。

注:该方法将关闭open()方法打开的文档流,并强制地显示出所有缓存的输出内容。如果您使用write()方法动态地输出一个文档,必须记住当你这么做的时候要调用close()方法,以确保所有文档内容都能显示。

一旦调用了close(),就不应该再次调用write(),因为这会隐式地调用open()来擦除当前文档并开始一个新的文档。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值