javascript - 为什么我的\n 换行符不起作用?

标签 javascript newline

编辑已解决

我想知道为什么以下代码不起作用 - 没有“生成”换行符 有人有主意吗? 谢谢

$('#results').append("Try again! \n I believe in you"); 

最佳答案

我假设您正在执行 ajax 调用或其他操作,并且结果包含“\n”并且您无法更改它?

没关系,在 HTML 中,诸如\n 和空格之类的内容都会被忽略,除非您明确声明要使用空格。

有两种主要方法可以实现此目的。

首先是 <pre>标签

$(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 的 css

在下一个示例中,我使用 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有很多选择:

white-space: normal|nowrap|pre|pre-line|pre-wrap|initial|inherit;

这应该可以满足您的需要。

如果您正在寻找非常具体的格式,您可能需要使用 Javascript 来清理文本。

还有其他方法可以在文本中进行中断,但如果您专门使用 \n那么这是我所知道的唯一两种方法。

希望这有帮助!

关于javascript - 为什么我的\n 换行符不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37353798/

相关文章:

linux - 如何防止 grep 打印尾随换行符?

python - 将字符串打印为 HTML

JavaScript 似乎无法访问对象属性

javascript - 每当我更改其值时如何阻止文本区域滚动到顶部

python - 如何在不同乘法表之间插入换行符?

replace - 使用 tr 将换行符替换为空格

javascript - 如何正确地自动执行闭包

javascript - 推荐一个HTML5/Javascript的开发环境?

javascript - jquery 捕获上一节课的问题

php - 在文本区域上看不到新行 - 问题可能是什么?