我试图在源代码中的换行符上拆分 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 相比,采用简单的分隔符字符串, 不是 正则表达式模式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top