19

我们知道 \n 用于在 JavaScript 中提供新行。
我应该如何将它用于输出(在 for 循环中):

str=prompt("Enter any string!");
    for(i=0;i<str.length;i++)
    {
        document.write('\n'+str.charCodeAt(i));
    }   

或者

str=prompt("Enter any string!");
    for(i=0;i<str.length;i++)
    {
        document.write('\n'+str.charCodeAt(i));
    }

两者似乎都不起作用。

4

5 回答 5

44

这与 JavaScript 无关。在 HTML 中,所有空格(包括换行符)都被折叠并视为一个空格。

要在 HTML 中换行:

  • 利用<br>
  • <p>...</p>或者用等将你的文本组织成段落)
  • 或者,如果您要输出某种形式的格式化文本(如代码),您可以在<pre>...</pre>元素(或应用了 、 或样式的任何元素white-space: prewhite-space: pre-wrapwhite-space: pre-line执行此操作。
于 2012-04-19T10:11:15.400 回答
1

如果您正在写入您想要的文档document.write('<br/>'+str.charCodeAt(i)); - 或者将您的输出设置在一个<pre>标签(或另一个具有 a style 属性的元素white-space:pre)中。

于 2012-04-19T10:11:17.900 回答
0

使用 document.writeln() 方法。

writeln() 方法与 write() 方法相同,只是在每个语句后添加了一个换行符。

尝试这个

 str=prompt("Enter any string!");
 for(i=0;i<str.length;i++)
 {
    document.writeln(str.charCodeAt(i));
 } 
于 2012-04-19T10:36:31.057 回答
0

我提出了一个更好的解决方案。在行动中查看它https://repl.it/@mamamia5x/Example

在 css 中做

h1 span::before { 
  content: "\A";
  white-space: pre;
}

用你拥有的任何东西替换 h1。现在,无论何时,都会<span>换行。因此,每当有人说 /n 时,它都会执行<span>并换行。

if (txt.charAt(i) == '/' && txt.charAt(i + 1) =='n'){
   document.getElementById("text").innerHTML += " <span>";
   i = i + 2;
} 

这是它的实际操作https://repl.it/@mamamia5x/Example,这是我将它用于https://live-stream.mamamia5x.repl.co/的一个项目。

我也使它与<br>. 如果你想这样做,你可以这样做

if (txt.charAt(i) == '<' && txt.charAt(i + 1) == 'b' && txt.charAt(i + 2) == 'r' && txt.charAt(i + 3) == '>'){

您也可以将两者混合在一起,它可以允许/n<br>

于 2020-02-07T14:17:58.310 回答
-1

使用<br> 而不是\n 它相对于 HTML

于 2021-12-25T06:42:51.223 回答