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

时间:2016-05-20 18:44:31

标签: javascript newline

编辑解决了

我想知道为什么以下代码无效 - 没有新行正在制作' 有人有想法吗? 谢谢

`$response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);`

3 个答案:

答案 0 :(得分:3)

空格不会在html中断,它们会折叠成显示为的单个显示空格。如果要在html中渲染中断,则必须使用中断标记<br>

&#13;
&#13;
$('#results').append("Try again! <br> I believe in you");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="results"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

在HTML格式中,您需要使用换行符<br>,而不是换行符。

答案 2 :(得分:2)

我假设您正在进行ajax调用或其他内容并且结果包含'\ n'并且您无法更改它?

没关系,除非你明确声明要使用空格,否则会删除像\ n和空格这样的HTML。

有两种主要方法可以做到这一点。

首先使用<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,那么这是我所知道的唯一两种方法。

希望这有帮助!