我正在编写一个简单的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>
输出:
我的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>
输出:
答案 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代码作为

。
查看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并不是问题。