编辑已求解
我想知道为什么下面的代码不能工作--没有新的行被‘生成’,有人知道吗?谢谢
$('#results').append("Try again! \n I believe in you"); 发布于 2016-05-21 03:02:09
我假设你正在做一个ajax调用或者别的什么,结果包含'\n‘,你不能改变它吗?
这很好,在HTML中,像\n和空格这样的东西会被忽略,除非您显式地声明要使用空格。
有两种主要方法可以做到这一点。
首先是使用 <pre> tag
$(function() {
$('#results').append("Try again! \n I believe in you");
})<html>
<head>
<script data-require="jquery@*" data-semver="2.2.0" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<pre id="results"></pre>
</body>
</html>
第二种(更好的方式)是使用white-space
在下一个示例中,我使用white-space:pre-line,这将仅保留您的\n行或新行
$(function() {
$('#results').append("Try again! \n I believe in you");
})<html>
<head>
<script data-require="jquery@*" data-semver="2.2.0" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<div style = "white-space: pre-line" id="results"></div>
</body>
</html>
注意,第二个使用了一个标准的<div>,触发了一个新的行,并且没有保留\n?这可能是您正在寻找的更多内容。您还可以将其设置为white-space:pre,并且在空白和换行符方面,div的行为应该与<pre></pre>类似。
white-space有很多选择:
空格: normal|nowrap|pre|pre-line|pre-wrap|initial|inherit;
这应该会为您提供所需的内容。
如果您正在寻找一种非常特定的格式,则可能需要使用Javascript来清理文本。
还有其他方法可以在文本中换行,但如果你专门使用\n,那么这是我所知道的唯一两种方法。
希望这能有所帮助!
发布于 2016-05-21 02:50:34
空格在html中不会中断,它们会折叠成单个显示的空格,显示为。如果想在html中显示一个分隔符,就必须使用一个分隔符<br>。
$('#results').append("Try again! <br> I believe in you");<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="results"></div>
发布于 2016-05-21 02:48:50
它是超文本标记语言,你需要使用换行符,<br>,而不是换行符。
https://stackoverflow.com/questions/37353798
复制相似问题