我正在尝试在源代码中的换行符上拆分div的innerText。这适用于:
$('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来搞定它们?
答案 0 :(得分:2)
尝试拆分"\n"
而不是"\r\n"
。
要做到这两点,请考虑拆分模式"\r?\n"
。
答案 1 :(得分:1)
换行符是空格,通常不会保留。它们与空间的意思相同。
答案 2 :(得分:1)
IE确实丢失了元素内容的换行符,除了:
pre
(和plaintext
中,而不是本世纪使用的那个)textarea
中,它还添加了虚假的'\ r',不计入自己的字符计数机制然而,无论如何,这都行不通:
分裂( “\ r \ n | \ r | \ n” 个)
与Java相比,JavaScript的String.split采用了一个简单的分隔符字符串,而不是一个正则表达式模式。