【问题标题】:How do I display new line in .text() in jQuery?如何在 jQuery 的 .text() 中显示新行?
【发布时间】:2013-08-06 22:15:44
【问题描述】:

我有以下代码:

var stringDisplay = "Hello\nWorld";
$("#meaning").text(stringDisplay);

它显示的是\n 而不是换行符。

输出显示为Hello\nWorld

我也用<br> 标签代替了\n,但还是不行。

【问题讨论】:

  • var stringDisplay = "Hello
    世界"; $("#meaning").html(stringDisplay);

标签: javascript jquery text newline


【解决方案1】:

您必须同时使用 .html() 并替换换行符:

var escaped = $('<div>').text(stringDisplay).text();
$('#meaning').html(escaped.replace(/\n/g, '<br />'));

另一种方法是为元素设置样式:

white-space: pre-wrap;

【讨论】:

  • 这个答案不完整。您必须先设置文本,才能正确转义文本中的任何 HTML。只有这样你才能进行换行(假设新行仍然存在)。
  • @Brad:谢谢,已修复。
  • $('#meaning').html(escaped.replace(/\n/g, '
    '));工作..非常感谢
  • 添加样式 white-space: pre-wrap;最适合我。
【解决方案2】:

这个怎么样

$('meaning').html('line1<br>line2');

【讨论】:

  • 如果 line1 或 line2 是用户输入会很痛苦
猜你喜欢
  • 2017-05-27
  • 2011-06-03
  • 2021-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多