正在javascript中创建新元素并尝试appendChild方法以适应它。。。没有';不行。有什么好处?

正在javascript中创建新元素并尝试appendChild方法以适应它。。。没有';不行。有什么好处?,javascript,html,methods,elements,Javascript,Html,Methods,Elements,伙计们。我在我创建的模拟网站中创建了一个新的下拉菜单。一切都很顺利,除了我正在用香草Javascript做的一个练习。我想做的是创建一个li元素,然后我做同样的事情,但是创建一个新的a元素,链接的锚。这是我到目前为止得到的 var li = document.createElement('li'); 对锚元素执行了相同的操作 var a = document.createElement('a'); 现在我创建了一个这样的父变量 var parent = document.getElement

伙计们。我在我创建的模拟网站中创建了一个新的下拉菜单。一切都很顺利,除了我正在用香草Javascript做的一个练习。我想做的是创建一个li元素,然后我做同样的事情,但是创建一个新的a元素,链接的锚。这是我到目前为止得到的

var li = document.createElement('li');
对锚元素执行了相同的操作

var a = document.createElement('a');
现在我创建了一个这样的父变量

var parent = document.getElementById('ul-li-a').getElementsByTagName('li');
[li, li, li, li, li, li, li, li, li, li, li, li]
现在我有一系列的李,像这样列出

var parent = document.getElementById('ul-li-a').getElementsByTagName('li');
[li, li, li, li, li, li, li, li, li, li, li, li]
这就是我的问题所在。然后我尝试了append-child方法,就像这样

parent.appendChild(li);
只是为了得到这个bs错误,它正好说明了这一点

Uncaught TypeError: parent.appendChild is not a function
    at <anonymous>:1:8.
未捕获类型错误:parent.appendChild不是函数
时间:1:8。
在我需要理解和实施的整个过程中,我到底遗漏了什么


提前谢谢大家。:)

在本例中,变量
parent
HTMLCollection
。这就是为什么没有定义函数
appendChild
。必须将函数
appendChild
应用于此数据类型的每个元素。您可以使用此代码段(ES2015)首先将其转换为数组,然后使用
forEach
将函数应用于所有元素:

[...parent].forEach(x => x.appendChild(li));
或者,您可以只在
HTMLCollection
(老式Javascript)上进行迭代:

for(变量i=0;i
您通常希望将LI元素附加到列表中(UL或OL)。所以父元素可能应该是对列表元素的引用。