为什么<br/>换行,而\ n在JS中失败

时间:2019-01-20 01:45:05

标签: javascript html output newline

我正在编写一个简单的javascript程序,发现在\n中使用document.write("");时,它不会换行。当我使用<br>标签时,它会起作用。

我想知道为什么 \n换行而<br>换一行。

注意:我是Java语言的新手...

我的Javascript使用 br

<head>
    <style>
    </style>
</head>

<body>
<h1>Foo App</h1>

<script charset="utf-8">
  var input = null;

        input = prompt("Enter something: ");

        for (var i = 0; i < 10; i++) {
            document.write("Your input: " + input + "<br><br>");
        }
</script>
</body>

输出:

enter image description here

我的JavaScript使用\n

<body>
    <h1>Foo App</h1>

<script charset="utf-8">
  var input = null;

        input = prompt("Enter something: ");

        for (var i = 0; i < 10; i++) {
            document.write("Your input: " + input + "\n\n");
        }
</script>
</body>

输出:

enter image description here

4 个答案:

答案 0 :(得分:3)

document.write()编写一段HTML。在HTML中,<br>创建新行。因此,如果要在使用document.write()时创建新行,则必须使用<BR>

答案 1 :(得分:1)

Document.write创建HTML标记,而不是纯文本。在HTML中,新行由<br/>元素表示。如果要写到浏览器控制台,则不会创建HTML标记,因此换行符“ \ n”是合适的。

答案 2 :(得分:1)

正如@mrid所说,当您使用document.write('HTML AS STRING')时将HTML代码编写为字符串,因此,当您使用\n时不是HTML实体,因此可以使用<br> html标记,用于写新行或在代码中使用实体html代码作为&NewLine;

查看HTML entities的正式列表以获取快速参考。

答案 3 :(得分:0)

<!DOCTYPE html> 
<html lang="en-GB"> 
<head>
<meta charset="utf-8"> 
<style> body { white-space: pre-wrap; } 
</style> 
</head>

空白样式:换行符将以'\ n'作为换行符显示。这是HTML的工作方式,而JavaScript并不是问题。