簡體   English   中英

為什么我的\\ n換行符不起作用?

[英]Why is my \n newline not working?

編輯已解決

我想知道為什么下面的代碼不起作用-沒有“換行符”有人產生想法嗎? 謝謝

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

空格不會在html中中斷,它們會折疊成一個顯示為的空白 如果要在html中顯示中斷,則必須使用break標簽<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> 

它是HTML格式,您需要使用換行符<br>而不是換行符。

我假設您正在執行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或white-space:pre-line

 $(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有很多選擇:

空格:普通| nowrap | pre | line | pre-wrap | initial |繼承;

那應該為您提供所需的東西。

如果要查找非常特定的格式,則可能需要使用Javascript清理文本。

還有其他中斷文本的方法,但是如果您專門使用\\n那么這是我所知道的僅有的兩種方法。

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM