博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
换行符在textarea、div、pre中的区别
阅读量:5302 次
发布时间:2019-06-14

本文共 938 字,大约阅读时间需要 3 分钟。

关于换行符,网上有许多说法,IE早期的浏览器是\r\n,有的浏览器是\r,但很难找到确切的版本号。经过本人正则匹配测试,chrome、firefox、safari、IE11都是\n,

因此保险起见,若对换行符进行正则匹配,应当同时匹配\n, \r以及\r\n.

值得一提的是\n、\r和\r\n都有换一行的效果,有些同学写换行时常写作\n\r,这就相当于换了两行,因此必须注意!

换行符用于textarea

textarea内的换行便是以换行符的形式实现,换行符也能用于textarea

 

换行符用于一般div

当我们尝试将\n用于一般div

eg: document.querySelector(".a").innerHTML= "12\n1";

显示:

未显示换行,这是因为在默认情况下空白会被忽略,所以无论是文本里的空白、换行都会被当做一个空格处理

若想显示空白,需添加属性white-space: pre; 保留换行和空白 或者pre-line 保留换行,忽略空白

增添white-space: pre;显示:

这时候获取innerHTML,输出: 12 1, 

/\n/.test(document.querySelector(".a").innerHTML) // true,

 

换行符用于可编辑div

eg: document.querySelector(".a").innerHTML= "1        2\n1";

显示:

通过审查元素,可以发现可编辑div自带white-space: pre;属性!因此文本空白和换行符都对它有效

而可编辑div内直接进行换行操作,换行又是如何实现的?

进行换行:

再输出innerHTML

1 2 1 <div>11</div><div>111</div>

因此: 对于可编辑div,换行符有效,但它本身的换行是通过div来实现的,这不同于textarea!

 

一般pre

对于一般pre,文本空格与换行符都有效,也自带white-space: pre;属性。

 

可编辑pre

类似于可编辑div,换行符有效,本身的换行通过增添div实现。

 

转载于:https://www.cnblogs.com/yanze/p/6358020.html

你可能感兴趣的文章
C语言中求最大最小值的库函数
查看>>
和小哥哥一起刷洛谷(1)
查看>>
jquery对id中含有特殊字符的转义处理
查看>>
遇麻烦,Win7+Ubuntu12.10+Archlinux12.10 +grub
查看>>
SqlBulkCopy大批量导入数据
查看>>
pandas 修改指定列中所有内容
查看>>
「 Luogu P2285 」打鼹鼠
查看>>
lua语言入门之Sublime Text设置lua的Build System
查看>>
vue.js基础
查看>>
电脑的自带图标的显示
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
C++ 删除字符串的两种实现方式
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Java抽象类和接口的比较
查看>>
开发进度一
查看>>
MyBaits学习
查看>>
管道,数据共享,进程池
查看>>
CSS
查看>>
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>