在每个window.document.writeln之后添加换行符的最佳方法是什么?
我以为使用.writeln而不是.write可以解决问题,但只增加了一个空格。
for (var fizzCount = 1; fizzCount<=100; ++fizzCount) {
if (fizzCount % 3 == 0)
window.document.writeln("Fizz");
else if (fizzCount % 5 == 0)
window.document.writeln("Buzz");
else if (fizzCount % 15 == 0)
window.document.writeln("FizzBuzz");
else
window.document.writeln(fizzCount);
}
https://jsfiddle.net/eyLarL23/1/
感谢您的帮助!
最佳答案
我记得这个Codecademy lesson☺。
只需添加一个
+ "<br />"
您的每个
writeln()
语句。您的代码不起作用,因为
writeln()
创建了\n
换行符而不是<br />
,因此它不表示为换行符。例如:
for (var fizzCount = 1; fizzCount<=100; ++fizzCount) {
if (fizzCount % 3 == 0)
window.document.writeln("Fizz<br />");
else if (fizzCount % 5 == 0)
window.document.writeln("Buzz<br />");
else if (fizzCount % 15 == 0)
window.document.writeln("FizzBuzz<br />");
请参阅更新的JSFiddle。
额外提示1
另外,由于您已经在使用jQuery,因此可以将
window.document.writeln()
语句简化为较短的jQuery语句,如下所示:var d = $("body");
for (var fizzCount = 1; fizzCount<=100; ++fizzCount)
if (fizzCount % 3 == 0)
d.append("Fizz<br />");
else if (fizzCount % 5 == 0)
d.append("Buzz<br />");
else if (fizzCount % 15 == 0)
d.append("FizzBuzz<br />");
额外提示2
您的代码不会以15的倍数打印出“ FizzBuzz”:相反,它只会打印“ Fizz”,因为它首先遇到
if(fizzCount % 3 == 0)
语句。要解决此问题,请先放置if(fizzCount % 15 == 0)
语句,以便它首先对其进行检查。因此,最终的(有效的)代码将是:
var d = $("body");
for (var fizzCount = 1; fizzCount<=100; ++fizzCount)
if (fizzCount % 15 == 0)
d.append("FizzBuzz<br />");
else if (fizzCount % 3 == 0)
d.append("Fizz<br />");
else if (fizzCount % 5 == 0)
d.append("Buzz<br />");
else
d.append(fizzCount + "<br />");
请参见JSFiddle上的工作示例。
关于jquery - 如何在每个window.document.writeln之后添加换行符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34549634/