2015-02-08 51 views
0

我是編程新手,我正在學習如何做JavaScript。我書中的問題說我必須在我的html頁面中使用循環編寫程序,但它們都在同一行。我不能讓我的程序下線,我使用document.write,因爲它在html中使用JavaScript

這是程序:

<html> 
<body> 
    <script> 
    var sheepCounted = 0; 
    while (sheepCounted < 10) { 
     document.write("I have counted " + sheepCounted + " sheep!"); 
    sheepCounted++; 
    } 
    </script> 
</body> 
</html> 

但所有返回是:

I have counted 0 sheep!I have counted 1 sheep!I have counted 2 sheep!I have counted 3 sheep!I have counted 4 sheep!I have counted 5 sheep!I have counted 6 sheep!I have counted 7 sheep!I have counted 8 sheep!I have counted 9 sheep! 

(全部在一行上)

我也對這個代碼 問題 我的第一個正確的HTML頁面

<body> 
    <h1>Hello</h1> 
    <p>My First web page.</p> 
    <script> 
    var name = "Nick "; 
    document.write("Hello, " + name); 
    if (name.length > 7) { 
     document.write("Wow, you have a REALLY long name!"); 
    } 
     else { 
      document.write("Your name isnt very long") 
     } 
    </script> 
</body> 
</html> 

請幫助我!!!!!

+2

追加''
羊後'使用文件撰寫!'。 FWIW,'document.write()'是一種向瀏覽器窗口輸出數據的不好方法。銘記未來。 – 2015-02-08 22:09:58

+0

我是怎麼賣的? – 2015-02-08 22:13:00

+0

我應該怎麼做? – 2015-02-08 22:13:25

回答

2

首先,使用document.write不推薦。你應該做DOM操作。但是,由於您是編程新手,我們不要那樣做。

HTML中的所有空格,即製表符,換行符和空格都被截斷爲單個空格。爲了在頁面上實際獲得換行符,請使用標籤<br />。或者,您可以使每個文本成爲一個段落,這在語義上更有意義。要做到這一點,只是包裝在<p>標籤文字像<p>text</p>

document.write("<p>I have counted " + sheepCounted + " sheep!</p>"); 

這也適用於你的第二個問題。只是包裝在<p>文本</P >


如果你想使用DOM操作,這樣做下面的代碼的文本。請注意,這是更先進一點,它的確定同時服用寶寶步驟

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Test</title> 
     <meta charset="utf-8" /> 
    </head> 
    <body> 
     <script> 
     document.addEventListener("DOMContentLoaded", function() { 
      for (var i = 0; i < 10; i++) { 
       var p = document.createElement("p"); 
       p.textContent = "I have counted " + i + " sheep!"; 
       document.body.appendChild(p); 
      } 
     }); 
     </script> 
    </body> 
</html> 
0

你已經差不多了。你只需要"sheep!"後添加<br />元素強制換行:

所有的
.... 
<script> 
var sheepCounted = 0; 
while (sheepCounted < 10) { 
    document.write("I have counted " + sheepCounted + " sheep! <br />"); 
sheepCounted++; 
} 
</script> 
... 
+0

謝謝你,但你有第二個代碼的答案嗎? – 2015-02-08 22:12:00

+0

基本上是一樣的東西。無論你想要換行,只需添加'
'。 – Eclecticist 2015-02-08 22:12:51

+0

你有第二個代碼的答案嗎? – 2015-02-08 22:14:06

相關問題