【问题标题】:Losing line break when displaying text显示文本时丢失换行符
【发布时间】:2015-06-20 05:05:17
【问题描述】:

我可以在 Chrome 开发者工具中看到字符串的换行符“↵”

<br>↵↵<br>Event Status: confirmed↵<br>Event Description: Hog Day (Night )and Hog Day (Day)↵↵Friday...

如果我双击它并粘贴到记事本,则保留换行符。

当我将字符串保存到这样的对象时,

var summary = el.find("summary").text();
var volunteerEvent = {title: title, summary: summary}

并最终将其显示在页面上,

$('#volunteerEventDescription').empty().html(event.summary);

换行符消失了,这是一大块文本。

如何保留换行符?

【问题讨论】:

  • 试过$('#volunteerEventDescription').empty().text(event.summary); ?
  • 是的,我做到了,但没有用。我也试过 replace('\n';,"") 但它似乎没有选择它们。

标签: javascript jquery html jquery-mobile


【解决方案1】:

我看到两个明显的选择。哪一种适合您取决于您​​对格式的控制程度。

  1. 使用pre 标签,新行将被尊重。 pre 用于预格式化文本,将使用非比例字体,因此它可能无法按您的意愿呈现。有关详细信息,请参阅pre on MDN。

  2. 用br 标记替换新行。您可以使用正则表达式:stringValue.replace(/\n/g, '&lt;br/&gt;')。另一个问题出现了更强大的正则表达式:jQuery convert line breaks to br (nl2br equivalent)。

【讨论】:

    【解决方案2】:

    可以在 php.js 中找到与 PHP 等效的 nl2br 函数:http://phpjs.org/functions/nl2br/。 nl2br,顾名思义,将换行符转换为中断标签。

    【讨论】:

      猜你喜欢
      • 2013-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      相关资源
      最近更新 更多