我只是写了一些简单的代码,我注意到使用document.writeln没有写入新行,允许我演示......
// this is my JSON object
var myObject = {
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": [{
"Address1": "11 My Street",
"Address2" : "Nice Area",
"Town" : "Nice Town",
"PCode" : "P05T 0DE"
}]
}
document.writeln(myObject.firstName);
document.writeln(myObject.address[0].Address1);
现在输出以下内容....
John 11 My Street
这一切都在一条线上?如果我使用document.write()我会期待这个吗?它发生在IE和IE中。 Firefox浏览器。显然我可以添加+ "<br/>"
或+ "\n"
,但我不应该这样做吗?
我是傻瓜吗?
答案 0 :(得分:14)
HTML布局引擎将所有空格折叠到一个空格。 course 中,您需要<br />
或HTML用于将内容放在不同行上的其他机制。
答案 1 :(得分:10)
答案 2 :(得分:3)
它似乎只是在一条线上。这样做 -
document.write('<pre>');
document.writeln(myObject.firstName);
document.writeln(myObject.address[0].Address1);
你会看到。
答案 3 :(得分:2)
document.writeln
会在您的文档中写一行,而不是HTML 中的“line”。您的文档(源代码)实际上将包含“\ n”,但换行符不会出现在HTML中。
答案 4 :(得分:2)
查看页面来源,了解浏览器如何将每一行放在一行 -
但是如果你想在html中看到换行符,是的,在它们之间放一个'<br>'
。
答案 5 :(得分:1)
您输出的内容被误解为HTML,您必须输出格式化标签才能让它看起来像您想要的那样。
答案 6 :(得分:1)
我希望页面的源代码可以将它放在两行上,但是浏览器会将它压缩到一行,因为它会将所有空格压缩到一个空格。所以在浏览器中,它会在一行显示它。
正如你所说,你需要添加一个BR元素才能让它显示在两行上。
答案 7 :(得分:1)
document.writeln()
为每一行添加\n
。但是,在HTML中,空格全部显示为单个空格;您需要自己添加<br>
或<p>
标记。
答案 8 :(得分:0)
使用document.write()或document.writeln()在HTML文档中获取某些类型的列表或新文本行:
var somevar = "foo";
for(i=1;i<4;i++){
document.write(i+". "+somevar+"<br>");
}
这将输出:
答案 9 :(得分:0)
您只需将JavaScript代码放入<pre>
标记。
<body>
<pre>
<script src="your_javascript.js"></script>
</pre>
</body>