使用带有 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多维数组-无法正常工作