将子元素附加到现有元素
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]。
我正在尝试动态构建模式表单,但是当我搜索我的模式,然后创建一个新的子项时,它不允许我附加它们。模态是由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]。