我希望能够将由用户输入的名称组成的数组转换为无序列表,但该列表显示第一个列表项上的所有名称。如何将名称分成不同的列表项?
这是我目前拥有的:
function createList(){
var list = document.getElementById("list");
var li = document.createElement("li");
var input = document.getElementById("q8").value;
var strComma = input.split(",");
console.log(strComma);
var i = 0;
for (i; i < strComma.length; i++){
var el = document.createTextNode(strComma[i]);
li.appendChild(el);
list.appendChild(li);
}
}
最佳答案
这应该有用
function createList(){
var list = document.getElementById("list");
//var li = document.createElement("li");
var input = document.getElementById("q8").value;
var strComma = input.split(",");
console.log(strComma);
var i = 0;
for (i; i < strComma.length; i++){
var el = document.createTextNode(strComma[i]);
var li = document.createElement("li");
li.appendChild(el);
list.appendChild(li);
}
}
这样,您就可以创建新的 li
元素并附加到相同的现有 ul
元素。按照您的方式,在循环外部声明 li
时,您每次都引用相同的 li
元素。
关于JavaScript - 将数组转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37497735/