html()&amp; text()忽略\ n和<br/>

时间:2014-04-14 09:48:54

标签: javascript jquery html

我不明白为什么会发生这种情况,基本上我从Google Play商店以JSON的形式获得了一些应用程序的描述,现在我使用jQuery将描述添加到某个div中,而不是实际打印实际上,它给出一个段落块并忽略\ n或<br />标记。

var description = json.description;
alert(description);

当我提醒这个描述时,如上所示,有正确的段落格式,其中包含下一行[\ n],就像我想要的那样,但当我用html()或{添加到所需的div时{1}},它会忽略下一行text()

\n;

我尝试用
标签替换下一行,但结果仍然相同,我不知道为什么

$('#appName').html(description)

4 个答案:

答案 0 :(得分:3)

试试这个

var test = description.replace(/\n/g, '<br />');
$('#appName').html(test );

如果在换行符之前没有空格,那么正则表达式将无效。你也不需要把+作为/ g来代替所有换行符。

答案 1 :(得分:1)

var test = description.replace(/\n/g, '<br />');
$('#appName').html(test);

答案 2 :(得分:1)

使用.replace()。的正则表达式:

$('#appName').html(description.replace(/\n/g, "<br />"));

如果这些换行符是由windows-encoding制作的,那么您还必须替换回车符。

$('#appName').html(description.replace(/\r\n/g, "<br />"));

答案 3 :(得分:0)

对于正在寻找 css 解决方案的任何人。不需要使用正则表达式执行此操作,因为您只需添加 white-space 属性即可。如果将其设置为 pre-wrap,则 \n 会换行。

.show-white-space {
  white-space: pre-wrap;
}

只需将类添加到您的 <p><div> 标签。

https://developer.mozilla.org/de/docs/Web/CSS/white-space