在JavaScript字符串中插入换行符

7
我已经阅读了这个问题/答案这个问题,但是我无法在我的情况下让它起作用。
我正在从返回的php脚本的json数组构建名称列表。 在下面的代码之后,我通过jquery将goTosList字符串放入标签中。 我需要每个名称都在新行上。
下面的代码只输出
var goTosList = '';
if (data !== 'empty') {
    // Build the go tos list as a comma-separated string
    $.each(data, function(index,element) {
        goTosList += (element['name'] === undefined ? '' : element['name']) + '\n\r';
    });
}

我尝试过只使用\r或者只使用\n,并且不加单引号,但是无法使其正常工作。

1个回答

13

如果您的输出是HTML并且想要换行,您有两个选项:

要么将<pre>标签用作文本的包装器(我认为这种方法不适合此处)

<pre>some Text

with newlines</pre>

或者使用<br> 标签代替 \n\r


some Text<br>with newlines

因此,在您的代码中,这将被翻译为

goTosList += (element['name'] === undefined ? '' : element['name']) + '<br>';

并稍后通过将其插入到DOM中进行插入

$('#yourLabel').html( goTosList );

1
谢谢您的快速回复,但那并没有起作用。按照您的建议添加<br>只会将标签作为文本添加。在标签中呈现为“John Smith<br>Mary Johnson”。 - marky
@eventide 你使用哪个命令在页面中插入文本? - Sirko
2
一看到你的问题,我就意识到了问题所在。我使用的是$('#label').text(goTosList);.text更改为.html就解决了。谢谢! - marky
我还想添加行号,这可行吗? - Varun Sharma
@VSH 不确定你在做什么。在创建要插入的字符串的时候,显然也可以添加行号,但我看不出与这个问题的联系。 - Sirko
https://stackoverflow.com/questions/53845228/how-to-put-line-number-in-source-code-after-parse-in-html-page - Varun Sharma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接