\n不是在javascript中的文本之间创建新行

\n不是在javascript中的文本之间创建新行,javascript,Javascript,我有一段JavaScript,应该在我的HTML中更新: var StringContent = ({ "a": 'Some String a', "b": 'Some string b', "c": 'Some string c', }); 然后我希望每个字符串a、b、c通过以下方式显示在新行上: document.getElementById("overlaycontent").innerHTML = ( StringContent.a + '\n' +

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

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,
    )

我现在得到的只是一行中的所有东西。如何在文本中创建新行而不添加更多的
div
s?我也尝试了
\r
,但也没有帮助。我查看了文档,但它一直说要使用
\n

你应该用

替换
\n
,因为
innerHTML
需要一个HTML字符串(在HTML中,
\n
与相邻空格合并,但不生成回车符,除非元素具有MaxArt所述的样式
空白:预换行
):

document.getElementById(“OverlyContent”).innerHTML=(
StringContent.a+'
'+ StringContent.b+“
”+ c, )
对于innerHTML,您需要
'
'

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

CSS!
空白
预包装
!了解它

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




                       SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACE!

Newlines totally work now!
</div>

加油加油加油!
新行现在完全可以用了!

\n
(或有时
\r\n
)当输出到文本元素(如
.txt
文档)时,将起作用,但HTML需要

在HTML中,您应该使用

而不是
\n
。或者使用
或block元素,让CSS来完成工作。但是,在大多数情况下,生成的文本将有新行在ituations中,空格被HTML压缩。这就是为什么您看到使用

的建议。您还可以在
标记中生成上下文,这些标记确实尊重空格。我想说
可以
而不是
应该
这并不是说“
\n
没有任何意义”,但除非您将CSS
whitespace
属性设置为
pre
或其他变体,否则空格将折叠为一个空格。这是对CSS的一种热情认可。@MaxArt Hehe…这是一个非常有用的功能…人们需要知道!这样您甚至可以读回文本,而不必替换

使用
\n
返回原始,额外奖励:)和一行中的多个空格效果太好了-如果您出于任何原因尝试进行任何类型的缩进,并且为了基本的ASCII艺术,这非常好!不,让我们选择一种糟糕的方式P
alert(
    StringContent.a + String.fromCharCode(10) +
    StringContent.b + String.fromCharCode(10) +
    StringContent.c
    )
<div style="white-space: pre-wrap">




                       SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACE!

Newlines totally work now!
</div>