2013-03-12 54 views
0

控制檯不會提供任何錯誤,並且窗口不顯示任何內容。它有什麼問題?Javascript生成的HTML不起作用

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Home</title> 
    <script type="text/javascript"> 
     function stuffify(){ 
      for(var a=6;a<=0;a--){ 
       document.getElementById("stuff").innerHTML+="<h"+a+">stuff</h"+a+"></br>"; 
      } 
     } 
    </script> 
</head> 
<body> 
    <div id="stuff" onload="stuffify()"></div> 

</body> 
</html> 
+2

'div'元素不觸發加載事件。該功能從未被調用過。 – 2013-03-12 01:44:36

+0

另外,看看你的循環條件。它永遠不會被輸入,它應該是'a> 0'(它從6開始,大於零,所以循環體從不運行)。 – bfavaretto 2013-03-12 01:52:08

回答

2

onload功能將工作時,你的文檔的body標籤。

而且,你的循環是不正確的條件下,它應該是: for(var a=6; a >= 0; a--)

+1

onload也用於圖像和幀...至少 – 2013-03-12 01:51:04

+0

@eicto我已經更新了聲明,以更正確地處理手頭的問題。 – 2013-03-12 01:53:55

+0

@Calvin Koder我已經更新了我的答案,指出爲什麼即使將事件移動到您添加的「按鈕」時,您的代碼也無法正常工作。 – 2013-03-12 01:54:58

0

試試這個

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Home</title> 
    <script type="text/javascript"> 
     function stuffify(){ 
      for(var a=6;a<=0;a--){ 
       document.getElementById("stuff").innerHTML+="<h"+a+">stuff</h"+a+"></br>"; 
      } 
     } 

    </script> 
</head> 
<body onload="stuffify();"> 
    <div id="stuff" ></div> 

</body> 
</html> 
0

onload事件是由以下標記的支持:

<body>, <frame>, <frameset>, <iframe>, <img>, <input type="image">, <link>, <script>, <style> 

這就解釋爲什麼填充不會在您的div加載後觸發。
所以,你可以在onload功能結合體,而不是股利,或DIV後插入腳本,這樣的:

<div id="stuff" ></div> 
<script type="text/javascript"> 
stuffify(); 
</script>