document.write与writeln的输出内容区别说明

所属分类: 网络编程 / JavaScript 阅读数: 1753
收藏 0 赞 0 分享
document.write() //将内容写入文档,当前编辑位置为写入的内容的后一个字符
document.writeln() //将内容写入文档,并添加一个换行符,当前编辑位置为写入的内容的后一行

document.write()和document.writeln都是JavaScript向客户端写入的方法,writeln是以行方式输出的,但并不是指页面实际效果中的换行,两种方法在查看源代码时才看得出区别,除非是输出到pre或xmp元素内

测试一下:

运行上面的代码,在新开的窗口中:查看-源文件,就可以看到,writeln是以行方式输出

实际效果的区别在于:源代码中的换行,会导致实际效果中的一个“空格”对比以下例子来体会:

输入结果其实是:111 222

所以在应用中,使用write会比writeln更为方便,不会产生不必要的空格效果,所以我的Html与Js在线互转小工具[https://www.jb51.net/tools/html-js.htm]特地将网上大多数使用writeln的方式改为write,相信会给大家带来方便。

关于保留格式,测试一下:


document.write()和document.writeln()的区别 + 用js写动态select

解决思路:

两者都是JavaScript向客户端输出的方法,对比可知写法上的差别是一个ln--line的简写,换言之,writeln 方法是以行输出的,相当于在?winte?输出后加上一个换行符。

注意:document.write方法可以用在两方面:在网页载入过程中用实时脚本创建网页内容以及用延时脚本创建本窗口或新窗口的内容.该方法需要一个字符串参数,它是写到窗口或框架中的HTML内容.该字符串参数可以是变量或值为字符串的表达式,写入内容常常包含HTML标记.

记住,载入网页后,浏览器输出流将自动关闭.在些之后任何一个对当前网页的document.write()方法都将打开一个新的输出流,它将清除当前网页输出内容(包括源文档中的任何变是和值).因此,如果希望用脚本生成的HTML内容替换当前网页,就必须把HTML内容连接起来赋给一个变量.这里,使用document.write()来完成写操作.不必清除文档并打开一个新的数据流,一个document.write()调用就OK了.

关于document.write()方法,还需要说明它的相关方法document.close().脚本向窗口(不管是本窗口还是其它窗口)写完内容后必须关闭输出流.在脚本的最后一个document.write() 方法后面.必须确保有document.close()方法.不这样做就不能显示图像和表单.而且,后面调用的任何document.write() 只会将内容追加到网页后,而不会清除现有内容,写入新值

具体步骤:

1.打开一个空白窗口。
window.open()

2.用 write 方法向空白窗口写入代码。

document.write("Line1")
document.write("Line1")

3.用 writeln 方法向空白窗口写入代码。

document.writeln("Line1")
document.writeln("Line2")

4.完整代码示例:

复制代码 代码如下:

<script>
with(window.open()){
document.write("Line1")
document.write("Line1")
document.writeln("Line1")
document.writeln("Line2")
}
</script>


注意:两种方法仅当在查看源代码时才看得出区别。
特别提示:把上面的代码加入网页中,然后查看弹出窗口的源代码,将会看到:

Line1Line1Line1
Line2

页面效果和源代码如图。




特别说明

总的来说,一般情况下用两种方法输出的效果在页面上是没有区别的(除非是输出到pre或xmp元素内)。

二、document.write()向指定位置写html

页面初始化时可以正确写在select框内
但调用时就写在控件外了 ,不知道document.write()能否想改变innerHTML或outerHTML来动态写HTML?以及写的HTML要用来显示该如何处理?

如下:

复制代码 代码如下:

<html>
<head></head>
<script type="text/javascript">
function creatOption(){
for(i=0;i<5;i++)
document.write("<option value='"+i+"'>"+i+"</option>");
}
function openWrite(){
var win=window.open();
win.document.write("Line1");
win.document.write("Line1");
win.document.write("<input type='text' value='1234567890' />");
win.document.writeln("Line1");
win.document.writeln("Line2");
}
</script>
<body>
<select id="myselect" name="myselect">
<script language="javascript">
creatOption();
</script>
</select>
<input type="button" value="按钮" onclick="openWrite()"/>
</body>
</html>


关于保留格式,测试一下:<script> document.write("<pre>我在pre中不会换行!")document.write("我在pre中不会换行!")document.writeln("我在pre中会换行!")document.writeln("我在pre中会换行!")document.writeln("我在pre中会换行!</pre>") </script>
更多精彩内容其他人还在看

jQuery-1.9.1源码分析系列(十)事件系统之事件包装

这篇文章主要介绍了jQuery-1.9.1源码分析系列(十)事件系统之事件包装的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

javascript实现Email邮件显示与删除功能

这篇文章主要介绍了javascript实现Email邮件显示与删除功能,需要的朋友可以参考下
收藏 0 赞 0 分享

JavaScript实现自动生成网页元素功能(按钮、文本等)

这篇文章主要介绍了JavaScript实现自动生成网页元素功能,文章列出了三种可以进行增删改克隆按钮、文本等元素的方法,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

js实现索引图片切换效果

这篇文章主要介绍了js实现索引图片切换效果的代码,特别炫酷的效果,推荐给大家,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

javascript实现动态统计图开发实例

这篇文章主要介绍了javascript实现动态统计图开发实例,需要的朋友可以参考下
收藏 0 赞 0 分享

超详细的javascript数组方法汇总

这篇文章主要对javascript的数组方法进行了详细的汇总,包括了最常用的的数组方法,还有扩展方法,很全面,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jQuery实现分隔条左右拖动功能

这篇文章主要介绍了jQuery实现分隔条左右拖动功能,需要的朋友可以参考下
收藏 0 赞 0 分享

分享经典的JavaScript开发技巧

这篇文章向大家分享了40多个经典的JavaScript开发技巧,相信读完这篇文章对大家开发javascript有很大的帮助作用,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jquery实现select选择框内容左右移动代码分享

这篇文章主要介绍了jquery实现select选择框内容左右移动代码,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

解决jquery插件:TypeError:$.browser is undefined报错的方法

这篇文章为大家分享了一个解决jquery插件:TypeError:$.browser is undefined报错的方法,解决报错问题的方法也很简单,需要解决此类问题的朋友不要错过这篇文章。
收藏 0 赞 0 分享
查看更多