IE 7 中 div 内容丢失换行符
-
06-07-2019 - |
题
我试图在源代码中的换行符上拆分 div 的内部文本。这适用于:
$('div').text().split("\r\n|\r|\n")
但这在 IE 7 中失败了,因为换行符显然被删除了。jQuery 1.3.2 似乎没有问题,因为我也尝试了这两种方法:
$('div')[0].innerText.split("\r\n|\r|\n")
和
$('div')[0].innerHTML.split("\r\n|\r|\n")
如果我将 div 更改为 pre,上述任何操作都不起作用。
看起来换行符是在源被解析到 DOM 中之后出现的。:( 是这样吗?有没有办法用 javascript 来获取它们?
解决方案
换行符是空格,通常不会保留。它们与空间的意思相同。
其他提示
尝试拆分" \ n"
而不是" \ r \ n"
。
要做到这两点,请考虑拆分模式" \ r?\ n"
。
IE 确实会丢失元素内容中的换行符,但以下情况除外:
- 在
pre
(和plaintext
, ,本世纪没有使用过) - 在
textarea
, ,其中还添加了不计入其自身字符计数机制的虚假“ ”
然而,无论如何,这都行不通:
分割(“ | | ”)
JavaScript 的 String.split 与 Java 相比,采用简单的分隔符字符串, 不是 正则表达式模式。
不隶属于 StackOverflow