Любой способ узнать, какие символы разрыва строки использовать в Javascript? - PullRequest
1 голос
/ 11 июня 2010

Я пытаюсь проанализировать некоторый текст в элементе управления textarea и в то же время заменить все
обычными символами разрыва строки.

Я смог сделать это в Windows, заменив
на CR (он не работал с CRLF, как ни странно, он дал мне разрыв строки + пустое место), но я боюсь, что это код не будет работать в Unix / Mac, потому что они используют LF для разрыва строки.

Есть ли способ использовать системный символ перевода строки по умолчанию в javascript? Нечто похожее на Environment.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>

Ответы [ 2 ]

1 голос
/ 12 июня 2010

Ваша проблема не в символе новой строки, а в использовании вами функций jQuery.

Вы должны использовать .val() вместо .text() дляизменение value из <textarea>..text() предназначен для изменения textContent узлов (например, <div> и т. Д.).Символы новой строки внутри text(), вероятно, будут преобразованы в обычные пробелы ...

Демонстрируется на jsfiddle

1 голос
/ 11 июня 2010

Вы всегда можете использовать \n в качестве символа перевода строки в Javascript.

Например, оператор

document.getElementById('mytextarea').value = "This is some text.\n\nAnd here is some more.";

добавляет два возврата междуЭто какой-то текст. "и "А вот еще немного".в IE, Firefox, Chrome, Safari и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...