Использование новой строки (\n) в строке и рендеринг ее в HTML

У меня строка:

string display_txt = "1st line text" +"\n" + "2nd line text";

в JQuery, я пытаюсь использовать

('#somediv').html(display_txt).css("color", "green")

довольно ясно, что я ожидаю, что мой msg будет отображаться в 2 строках, но вместо этого \n отображается в сообщении. Любые быстрые исправления для этого?

Спасибо,

Ответ 1

Используйте <br /> для новой строки в html:

display_txt = display_txt.replace(/\n/g, "<br />");

Ответ 2

Задайте свой css в ячейке таблицы

white-space:pre-wrap;

document.body.innerHTML = 'First line\nSecond line\nThird line';
body{ white-space:pre-wrap; }

Ответ 3

Вы можете использовать pre-tag вместо div. Это автоматически отобразит ваш \n правильным способом.

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
         var display_txt = "1st line text" +"\n" + "2nd line text";
         $('#somediv').html(display_txt).css("color", "green");
});
</script>
</head>
<body>

<pre>
<p id="somediv"></p>
</pre>

</body>
</html>

Ответ 4

Может быть .text вместо .html?