不会在javascript中的文本之间创建新行

is not creating a new line between text in javascript

本文关键字:文本 之间 创建 新行 javascript      更新时间:2023-09-26

我有一段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 ?我也尝试了'r,但这也没有帮助。我看了文档,但它一直说要使用'n

您应该将'n替换为<br>,因为innerHTML接受HTML字符串(在HTML中,'n与相邻的空格合并,但不产生回车,除了MaxArt注意到的样式为white-space:pre-wrap的元素):

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

CSS!white-space !pre-wrap !了解它!

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


                       SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACE!
Newlines totally work now!
</div>

为innerHTML你需要'<br />'

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
    )

'n(或有时'r'n)在输出到文本元素(如<textarea>.txt文档)时可以工作,但HTML需要<br>