And*_* SK 4 javascript jquery internet-explorer split
让我们说我有一个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])));
}
Run Code Online (Sandbox Code Playgroud)
除了IE之外,它适用于所有浏览器.由于某种原因,split()函数忽略IE中的空行(3和4).因此,它们永远不会传递到数组中:s
解决方案通过Squeegy在评论
替换split(/\n/)
为split("\n")
- 该死的IE!
正则表达式拆分在IE8及更低版本中表现得很奇怪.使用字符串比较,它似乎工作(小提琴)
testText.split("\n")
Run Code Online (Sandbox Code Playgroud)
而不是
testText.split(/\n/)
Run Code Online (Sandbox Code Playgroud)
[编辑]来自Steven Levithan的博客:
Internet Explorer 从结果数组中排除几乎所有空值(例如,当两个分隔符在数据中彼此相邻时出现,或者在数据的开头或结尾出现分隔符时)
归档时间: |
|
查看次数: |
9501 次 |
最近记录: |