Javascript 使用appendChild将数组转换为列表
如何创建函数接受两个参数,第一个是应添加到的列表元素,第二个是将转换为列表项的字符串数组 参数是元素和arr。我试图创建list元素,并使用appendChild将数组字符串附加到元素中Javascript 使用appendChild将数组转换为列表,javascript,arrays,list,Javascript,Arrays,List,如何创建函数接受两个参数,第一个是应添加到的列表元素,第二个是将转换为列表项的字符串数组 参数是元素和arr。我试图创建list元素,并使用appendChild将数组字符串附加到元素中 函数填充(elem、arr){ elem=document.createElement(“li”); for(设i=0;i
函数填充(elem、arr){
elem=document.createElement(“li”);
for(设i=0;i
错误消息:
未能在“节点”上执行“appendChild”:参数1不是类型
“节点”
您有几个问题:
elem
,因此传递的elem
将被覆盖,这意味着您将无法向其追加元素elem
元素。这将不起作用,因为您需要附加一个节点(因为它接受一个节点,而不是一个字符串)。要附加节点,可以使用在JS中创建一个
HTML元素,然后将文本设置为当前数组值的文本(使用.textContent
)函数填充(elem、arr){
for(设i=0;i
填充元素并返回完整列表
function filler(elem, arr){
for(let i = 0; i < arr.length; i++){
listItem = document.createElement('li');
listItem.innerHTML = arr[i];
elem.appendChild(listItem);
}
return elem;
}
函数填充(elem、arr){
for(设i=0;i
这里是一个用例填充(document.createElement('ul'),['a','b','c'])
为什么要覆盖elem
?更好地使用textContent
而不是innerHTML
取决于OP实际需要什么,可能是有效HTML元素的列表?