将子元素附加到现有元素

Appending a child to an a existing element

我正在尝试动态构建模式表单,但是当我搜索我的模式,然后创建一个新的子项时,它不允许我附加它们。模态是由class设置的,应该是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

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

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

通常,如果您有多个,则使用 'class'。如果您希望它是唯一的,您可以使用 'id'。然后你可以使用 `getElementById('xyz') 你会得到一个节点。在那种情况下,不需要在最后做额外的[0]。