Я пытаюсь проанализировать некоторый текст в управление текстовой областью, и в то же время заменяют все
с обычными символами разрыва строки.
Я смог сделать это в окнах путем замены
с CR
(это не работало с CRLF
странно достаточно это дало мне разрыв строки + вакуум), но я боюсь, что этот код не будет работать в Unix/Mac, потому что они используют LF
для разрыва строки.
Там какой-либо путь состоит в том, чтобы использовать символ разрыва строки системного значения по умолчанию в JavaScript? Что-то подобное Среде. NewLine в .NET
(Я не смог записать, что обратная косая черта в этом редакторе, но я использую \r
для CR
и \n
для LF
)
Править: Я должен, вероятно, упомянуть, что все работает с FF, это как всегда Internet Explorer (8), у меня есть проблемы с.
Edit2:
Я могу воспроизвести свою проблему с этим кодом. Когда я выполняю его в IE8, я получаю "row1 row2", но когда я выполняю его в FF, я получаю реальные разрывы строки:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script type="text/javascript">
function fill() {
var text = "row1<br /><br />row2";
$('#fill_me').text(text.replace(/<br \/>/g, '\n'));
}
</script>
</head>
<body onload="fill()">
<textarea rows=10 cols=100 id="fill_me"></textarea>
</body>
</html>
Ваша проблема не в символе новой строки, а в использовании вами функций jQuery.
Вы должны использовать .val ()
вместо .text ()
для изменения значения
в
. .text ()
предназначен для изменения textContent узлов (например,
text ()
, вероятно, будут преобразованы в простые пробелы ...
Вы всегда можете использовать \ n
в качестве символа перевода строки в Javascript.
Например, оператор
document.getElementById ('mytextarea'). Value = "Это какой-то текст. \ N \ nИ еще кое-что."
;
добавляет два возврата между «Это какой-то текст». и «И вот еще несколько». в IE, Firefox, Chrome, Safari и т. д.