簡體   English   中英

在字符串javascript中插入換行符

[英]Insert newline character in string javascript

如何在Javascript中插入換行符? 以下代碼即使使用換行符“ \\ n”,也將所有內容顯示在一行中。

 <body> <button onclick="myFunction()">Click me</button> <div id="demo" onclick="myFunction()"></div> <script> function myFunction() { document.getElementById("demo").innerHTML = "line1\\nline2\\nline3\\nline4\\nline5\\nline6"; } </script> </body> 

innerHTML

如果在HTML源代碼中添加換行符會怎樣?

 New Line! 

這是一個HTML問題。 不是JavaScript問題。

如果要用HTML換行,則需要添加適當的元素。

快速而骯臟的解決方案是<br> ,或將整個內容包裝在<pre>...</pre> ,但是內容的正確標記可能是列表或其他內容。 您的示例代碼太籠統了,無法說明。

我建議您使用<br>標記而不是“ \\ n”。

https://jsfiddle.net/nav8kdg6/

您也可以訪問該主題,它是HTML主題,但與您遇到的問題相同: 使用\\ n在html中換行

我希望我能幫助你。

您的行顯示中沒有\\n的事實表明您實際上是在插入新行,而不是文字\\ s和n s。 因此,您的代碼正在執行您期望的工作。

正如其他人指出的那樣,這里的問題不是JavaScript代碼本身,而是HTML。 設置innerHTML ,並不是像設置文字一樣設置文本,而是將其設置為頁面實時HTML的一部分。

HTML是一種標記語言,因此,它不能完全按照編寫的方式呈現,而是按照標記的指示進行呈現。 在HTML中,與JavaScript和許多其他語言一樣,空格在語法上被認為是無關緊要的。 這意味着任何空白,無論水平(如空格和制表符)還是垂直(如換行符)都被單個空格所代替。 因此,您的換行符將替換為空格。

在HTML中強制換行的正確方法是使用<br />標記,該標記會插入換行符。 但是,最佳實踐表明,HTML更多地是關於使用上下文而不是樣式標記數據。 您可能需要單獨輸入這些條目。 它們可能是唯一的條目,因此,它們可能應該在自己的“塊級別”元素中。 一個流行的例子是創建段落的<p></p>標記。 另一個示例是將<li></li>用於列表項,例如:

  <body> <button onclick="myFunction()">Click me</button> <div id="demo" onclick="myFunction()"></div> <script> function myFunction() { var list = document.createElement("ul"); list.style.listStyleType = "none"; for (var i=1; i <= 6; i++) { var item = document.createElement("li"); item.appendChild(document.createTextNode("line" + i)); list.appendChild(item); } document.getElementById("demo").appendChild(list); } </script> </body> 

理想情況下,樣式將在CSS中完成,但這表明了這一想法。 這將是添加將形成新行的元素的更可靠的方法。

暫無
暫無

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

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