this.descText = val.replace(/\n/g, '<br>') || val.replace(/\r\n/g, '<br>') || val.replace(/\r/g, '<br>')
二、换行符在textarea、div、pre中的区别textarea内的换行便是以换行符的形式实现,换行符也能用于textarea
四、换行符用于一般div当我们尝试将\n用于一般div
eg: document.querySelector(".a").innerHTML= "12\n1";
显示:
image未显示换行,这是因为在默认情况下空白会被忽略,所以无论是文本里的空白、换行都会被当做一个空格处理,
若想显示空白,需添加属性white-space: pre; 保留换行和空白 或者pre-line 保留换行,忽略空白
增添white-space: pre;显示:
image这时候获取innerHTML,输出: 12 1,
/\n/.test(document.querySelector(".a").innerHTML) // true,
五、换行符用于可编辑diveg: document.querySelector(".a").innerHTML= "1 2\n1";
显示:
image通过审查元素,可以发现可编辑div自带white-space: pre;属性!因此文本空白和换行符都对它有效
而可编辑div内直接进行换行操作,换行又是如何实现的?
进行换行:
image再输出innerHTML
1 2 1 <div>11</div><div>111</div>
因此: 对于可编辑div,换行符有效,但它本身的换行是通过div来实现的,这不同于textarea!
一般pre
对于一般pre,文本空格与换行符都有效,也自带white-space: pre;属性(劳动节的来历:1886年5月1日,在美国芝加哥工人们每天要劳动14至16个小时,有的甚至长达18个小时,但工资却很低。于是二十余万名工人为争取合法权益而举行大罢工。工人们提出的罢工口号,要求实行八小时工作制。经过艰苦的流血斗争,终于获得了胜利。)。
可编辑pre
类似于可编辑div,换行符有效,本身的换行通过增添div实现。