Допустим, у меня есть 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 () игнорирует пустые строки (3 и 4) в IE. Из-за этого они никогда не передаются в массив: s
Решение от Squeegy в комментариях
Замените split(/\n/)
на split("\n")
- черт возьми, IE!