使用带有 JavaScript 的 for 循环时,将新列表项添加到 <ul> 项 [重复]

Posted

技术标签:

【中文标题】使用带有 JavaScript 的 for 循环时,将新列表项添加到 <ul> 项 [重复]【英文标题】:Add a new list item to a <ul> item when using a for loop with JavaScript [duplicate] 【发布时间】:2016-02-14 05:16:42 【问题描述】:

我在学习 javascript 时正在创建一个测验。我创建了一组对象,它们充当问题、潜在答案和正确答案。我一直在尝试使用 for 循环来尝试遍历每个潜在的答案,并将这些添加到我创建的现有答案中。我正在使用以下代码创建项目:

var questChoices = function() 
    for(var i = 0; i < allQuestions[currQues].choices.length; i++)
        var choicehtml = '<li><input type="radio" name="choices" id="choice' + [i] + 1 +'"';
        choiceHTML += ' value="' + allQuestions[currQues].choices[i].toLowerCase() + '"' + ' />';
        choiceHTML += '<label for="choice' + [i] + 1 +'"' + '>';
        choiceHTML += allQuestions[currQues].choices[i] + '</label>';
        choiceHTML += '</li>';
        choicesHTML.appendChild(choiceHTML);
    
 

questChoices();

当页面加载并调用此函数时,我在控制台中收到以下错误:

未捕获的类型错误:无法在“节点”上执行 appendChild:参数 1 不是“节点”类型。

【问题讨论】:

【参考方案1】:

您使用的是纯html字符串,可以设置为choicesHTML.innerHTML

choicesHTML.innerHTML = choiceHTML;

要附加一个子节点,您需要使用document.createElement 来创建一个实际节点。

【讨论】:

谢谢 helion3,现在更有意义了,我会继续努力的。

以上是关于使用带有 JavaScript 的 for 循环时,将新列表项添加到 <ul> 项 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

带有闭包的 JavaScript For 循环导致 JSLint 警告

使用带有 JavaScript 模板文字函数的 for 循环

带有/ for循环按钮的Javascript jquery帮助

带有嵌套for循环的Javascript多维数组-无法正常工作

带有 jquery 和 javascript 的 Django for 循环列表

带有特定步骤的Javascript for循环