2014-04-01 81 views
-1

我正在嘗試創建一個動態<div>元素,因此我編寫了此代碼以創建一個<div>,據我所知。我在這裏找不到任何錯誤,爲什麼這個代碼不起作用?使用javascript創建動態元素

<!DOCTYPE html> 
<title>scroll</title> 
<head> 
</head> 
<body> 
<script> 
    function mydiv(){ 
     var elem=document.createElement("div"); 
     var t=elem.createAttribute("style"); 
     elem.createTextNode("ddfdfd"); 
     t.value="width:200px;height:1200px;border:1px solid black;"; 
     elem.setAttributeNode(t); 
     document.body.appendChild(elem); 
    } 
    window.onload=mydiv(); 
</script> 
</body> 
</html> 
+2

開發工具是你的朋友。 'TypeError:Object#沒有方法'createAttribute'' –

回答

2

最明顯的錯誤是分配給在window.onload的mydiv()的返回值,而不是函數本身。您應該使用window.onload=mydiv;(不帶圓括號)。

2

試試這個

<!DOCTYPE html> 
    <title>scroll</title> 
    <head> 
    </head> 
    <body> 
    <script> 
     function mydiv(){ 
      var elem=document.createElement("div"); 
      elem.innerText = "ddfdfd"; 
      elem.setAttribute('style', 'width:200px;height:1200px;border:1px solid black;'); 
      document.body.appendChild(elem); 
     } 
     window.onload=mydiv; 
    </script> 
    </body> 
    </html> 
+1

看到我的回答,你需要修復window.onload位。 –

+0

謝謝!但是爲什麼我的代碼無法正常工作?錯誤可能出現在我的代碼中? –

+0

如果我使用document.createAttribute而不是elem.createAttribute,我的代碼工作正常。爲什麼?我的意思是,document.createAttribute和element.createAttribute有什麼區別? –