Jquery 在字符串中使用新行(\n)并在HTML中呈现相同的行

Jquery 在字符串中使用新行(\n)并在HTML中呈现相同的行,jquery,html,string,newline,Jquery,Html,String,Newline,我有话要说 string display_txt = "1st line text" +"\n" + "2nd line text"; 在Jquery中,我试图使用 ('#somediv').html(display_txt).css("color", "green") 很明显,我希望我的msg显示在两行中,但实际上\n显示在消息中。有什么快速解决方法吗 谢谢,对于html中的新行,请使用: display_txt = display_txt.replace(/\n/g, "<br /

我有话要说

string display_txt = "1st line text" +"\n" + "2nd line text";
在Jquery中,我试图使用

('#somediv').html(display_txt).css("color", "green")
很明显,我希望我的msg显示在两行中,但实际上\n显示在消息中。有什么快速解决方法吗


谢谢,

对于html中的新行,请使用

display_txt = display_txt.replace(/\n/g, "<br />");
display\u txt=display\u txt.replace(/\n/g,“
”);
可能是
.text
而不是
.html

将表格单元格中的css设置为

white-space:pre-wrap;
document.body.innerHTML='第一行\n第二行\n第三行'

body{white space:pre wrap;}
您可以使用pre标记而不是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>

$(文档).ready(函数(){
var display_txt=“第1行文本”+“\n”+“第2行文本”;
$('#somediv').html(display_txt).css(“颜色”、“绿色”);
});


我在从数据库获取数据时遇到了以下问题,我想显示一个包含
\n
的字符串。上面的解决方案对我都不起作用,我终于想出了一个解决方案:

非常清楚,答案在您的问题中,您正试图将div中的错误消息呈现为html,因此您可以使用

tag没有什么“非常清楚”的地方需要两行代码。相反,很明显,换行符将被渲染为普通空间,仅在需要时包装换行符。这是HTML的工作原理,当然也是
.HTML
的工作原理。我只是说,在我将字符串存储为“第一行文本”和“第二行文本”的上下文中,很明显,我希望这些字符串分为两行,而不是HTML的工作原理:)谢谢。相关:出于某种原因,我必须将“\n”转义为“\\n”,否则它不起作用。(在铬46中测试)。有什么原因吗?请注意,这只会替换字符串中第一次出现的
\n
字符。请参阅最佳的
。replace(/\n/g,“
”)
是防止更多的换行。我认为@vsync的答案应该是可以接受的。效果非常好。谢谢,这不是公认的答案吗?LE:我发现这只在IE 8+中得到支持。这个答案比设置innerHTML要好得多,因为它不会导致XSS漏洞as空格序列将折叠为单个空格。文本将在必要时换行,并联机换行。有关的详细信息:此答案不会将文本中的\n转换为newline@ste_irl-什么意思?
\n
表示应该打印一行新行,并且它确实会打印它