显示文本时丢失换行符

Eri*_*uan 3 html javascript jquery jquery-mobile

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

<br>??<br>Event Status: confirmed?<br>Event Description: Hog Day (Night )and Hog Day (Day)??Friday...
Run Code Online (Sandbox Code Playgroud)

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

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

var summary = el.find("summary").text();
var volunteerEvent = {title: title, summary: summary}
Run Code Online (Sandbox Code Playgroud)

并最终显示在页面上,

$('#volunteerEventDescription').empty().html(event.summary);
Run Code Online (Sandbox Code Playgroud)

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

我如何保留换行符?

Cym*_*men 6

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

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

  2. br标记替换新行。您可以使用正则表达式做到这一点:stringValue.replace(/\n/g, '<br/>')。另一个问题提供了更强大的正则表达式:jQuery convert line break to br (nl2br equivalent)