JavaScript换行问题

时间:2013-06-02 19:18:48

标签: javascript setinterval

在此代码段中,写入'FirstText'时,会跳过第一行的其余部分。然后'SecText'写在第二行:

<pre>
 <script>
  function text(){
  document.write("FirstText \n SecText");
  }
  text();
 </script>
</pre>

但是当我在这个函数上使用setInterval()时,单词会彼此相邻写入(不会跳过行)。

有什么建议吗?

2 个答案:

答案 0 :(得分:8)

您看到\n创建了一个新行,因为您位于<pre />标记内;通常你必须使用<br />来查看<pre />之外的类似新行。

在页面加载完成之前调用document.write时,输出就会输入到位;因此,您会看到FirstText \n SecText内写的<pre />

但是,如果在页面加载后(<{1}}内)调用了,则在结果写入之前清除现有页面;因此setInterval被删除了,你再也没有看到你的新行了。

由于您未使用<pre />关闭document,因此document.close()中对document.write的连续调用将首先添加到打开的文档流中 setInterval的迭代。

您可以使用setInterval而不是<br />;

来解决此问题
\n

有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/document.writedocument.write clears page

答案 1 :(得分:2)

试试这个:

document.write("FirstText <br /> SecText <br/>");

工作示例:

http://jsbin.com/oyolod/4/