2014-10-05 76 views
-2

我目前正在通過Java腳本創建元素。對於練習,我試圖用按鈕填充已經存在的「表單」元素,但是我收到以下錯誤;BEGINNER JavaScript創建元素

遺漏的類型錯誤:無法讀取屬性 '的appendChild' 空

<html> 

<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 

</head> 

<body> 
    <form> 

    </form> 
</body> 

    <script> 

    var btn = document.createElement('BUTTON'); 
    var txt = document.createTextNode('CLICK ME'); 
    btn.appendChild(txt); 

    document.getElementById('#form').appendChild(btn); 

    </script> 
</html> 
+0

不需要getElementById中的'#'。 JavaScript已經知道你給它一個ID,你不必這樣說; – 2014-10-05 10:26:08

+0

getElementById在「id屬性」上工作。請參閱:https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#id – folkol 2014-10-05 10:26:22

回答

2

的你沒有指定您<form>元素form的ID。

<body> 
    <form id="form"> 

    </form> 
</body> 

你也不需要使用getElementById()#

document.getElementById('form').appendChild(btn); 

如果不希望分配的ID,就可以使用getElementsByTagName

document.getElementsByTagName('form')[0].appendChild(btn); 
+0

此外,該腳本需要處於ready()或聲明元素之後。感謝所有的幫助傢伙! – user3760639 2014-10-05 10:47:04

0

1. <script>不能外面以外的<body>

  • 你還沒有給你的表格id

  • 而且您不需要#,因爲它是ids的CSS語法,而且該方法已知道您正在爲其提供一個id。