2015-12-31 31 views
1

在每個window.document.writeln之後添加換行符的最佳方式是什麼?如何在每個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/

感謝您的幫助!

+0

這是一個鍛鍊Codecademy網站? –

+0

用預標籤封裝您的代碼片段。檢查我的回答 –

+0

@Jenny我的回答有幫助嗎?如果是這樣,請接受。否則,請反饋? –

回答

3

我記得這個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倍數的「FizzBu​​zz」:相反,它僅打印出「Fizz」,因爲它遇到了首先聲明。要解決此問題,請首先將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工作示例。

+0

如果我們用pre標籤附上我們可以避免break標籤! –

0

document.writeln已經添加了換行符。你沒有看到它,因爲默認行爲是吞噬/ coallesce空白。

如果您查看生成的頁面源,那麼該文本節點上會有一個新行。

如果你想看到你的頁面上的換行符,使用br標籤

window.document.writeln("Fizz" + "<br />"); 
1

圍成<pre>標籤。你會看到真實的行爲。

document.write('<pre>'); 
 
    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); 
 
    }; 
 
    document.write('</pre>');

小提琴網址:
https://jsfiddle.net/eyLarL23/3/

相關問題