【发布时间】:2012-01-20 15:44:47
【问题描述】:
假设我有一个带有此文本的 textarea:
- 第一行一些文字。
- 第二行,其他文字。下一行将为空。
- (空行)
- (空行)
- 这里是最后一行
如您所见,第 3 行和第 4 行是空的 (\n)。我需要获得确切的行结构(也有空行)并将其转换为数组。每行都是数组的一个元素。这是我当前的代码:
var lines = $('#q').val().split(/\n/);
alert(lines.length); //using alert() because IE doesn't support console.log()
var texts = [];
for(i = 0; i < lines.length; i++) {
texts.push($.trim(encodeURIComponent(lines[i])));
}
它适用于所有浏览器,除了 IE。出于某种原因,split() 函数会忽略 IE 中的空行(3 和 4)。因此,它们永远不会传递到数组中:s
解决方案Squeegy 在 cmets 中
将split(/\n/) 替换为split("\n") - 该死的IE!
【问题讨论】:
-
尝试用字符串代替?
"\n" -
哇...就是这么简单。谢谢!
-
这是一个完全随机的猜测,老实说。这就是为什么它不是一个答案。所以我无法解释为什么,但也许其他人可以并且你可以接受这个答案。
标签: javascript jquery internet-explorer split