2014-10-05 75 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。