【问题标题】:\n is not creating a new line between text in javascript\n 没有在 javascript 中的文本之间创建新行
【发布时间】:2014-05-12 15:20:12
【问题描述】:

我有一段 JavaScript 应该更新我的 HTML 中的 a:

var StringContent = ({
    "a": 'Some String a',
    "b": 'Some string b',
    "c": 'Some string c',
});

然后我希望每个字符串 a、b、c 通过以下方式显示在新行上:

document.getElementById("overlaycontent").innerHTML = (
    StringContent.a + '\n' +
    StringContent.b + '\n' +
    StringContent.c,
    )

我现在得到的只是一行中的所有内容。如何在不添加更多 divs 的情况下在文本中创建新行?我也试过\r,但这也无济于事。我查看了文档,但它一直说要使用 \n

【问题讨论】:

  • 在 HTML 中,您应该使用 <br> 而不是 \n
  • 或者使用 class 或块元素,让 CSS 完成工作。
  • 生成的文本会有新的行,但是,在大多数情况下,空白会被 HTML 折叠起来。这就是您看到使用<br> 的建议的原因。您还可以在 <pre> 标签中生成内容,这些标签确实尊重空白。

标签: javascript


【解决方案1】:

您应该将\n 替换为<br>,因为innerHTML 采用HTML 字符串(在HTML 中,\n 与相邻的空格合并,但不会产生回车符,除非具有white-space:pre-wrap 样式的元素,如前所述由 MaxArt):

document.getElementById("overlaycontent").innerHTML = (
    StringContent.a + '<br>' +
    StringContent.b + '<br>' +
    StringContent.c,
)

【讨论】:

  • 我会说can 而不是should
  • 不是“\n 没有任何意义”,而是空格被折叠成一个空格,除非您将 CSS 的 white-space 属性设置为 pre 或其他变体。
【解决方案2】:

CSS! white-spacepre-wrap!了解一下!

<div style="white-space: pre-wrap">




                       SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACE!

Newlines totally work now!
</div>

【讨论】:

  • 这是对 CSS 的热情支持。
  • @MaxArt 呵呵……嗯,这是一个非常有用的功能……人们需要知道!
  • 这样你甚至可以读回文本,而不必用\n 替换&lt;br&gt; 来回到原来的,奖金。 :)
  • 连续几个空格也可以 - 如果您出于任何原因尝试进行任何形式的缩进,以及基本的 ASCII 艺术,那就太好了!
  • 不,让我们选择糟糕的方式。 :P
【解决方案3】:

对于innerHTML,您需要'&lt;br /&gt;'

document.getElementById("overlaycontent").innerHTML = (
    StringContent.a + '<br />' +
    StringContent.b + '<br />' +
    StringContent.c
    )

但是对于警报,您可以使用:String.fromCharCode(10) 而不是 '\n'

alert(
    StringContent.a + String.fromCharCode(10) +
    StringContent.b + String.fromCharCode(10) +
    StringContent.c
    )

【讨论】:

    【解决方案4】:

    \n(或有时\r\n)在输出到诸如&lt;textarea&gt;.txt 文档之类的文本元素时会起作用,但HTML 需要&lt;br&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-19
      • 2013-09-21
      • 2011-09-03
      • 2021-10-08
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多