将子项附加到现有元素

时间:2017-03-14 21:39:12

标签: javascript html css nodes dom-manipulation

我正在尝试动态构建一个模态表单,但是当我搜索我的模态,然后创建一个新的子项时,它不允许我追加它们。模态是由类设置的,如果它是ID而不是?请不要参考w3schools;我正在使用它并且它没有帮助。

var a=document.getElementsByClassName('modal');
undefined
var b = document.createElement("p");
undefined
b.appendChild(a);

Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
    at <anonymous>:1:3

1 个答案:

答案 0 :(得分:3)

a将是节点的集合(您通常可以使用[n]访问它们,因为它们类似于数组)。你会想要第一个。试试这个代替你所拥有的:

var a=document.getElementsByClassName('modal')[0];

通常情况下,您使用的是&#39;班级&#39;如果你有多个。您使用的是&#39; id&#39;如果你想要它是独一无二的。然后你可以使用`getElementById(&#39; xyz&#39;),你将获得一个节点。在这种情况下,不需要在结尾处执行额外的[0]。