[英]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.