我在学习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();
当页面加载并调用此函数时,我在控制台中收到以下错误:
未捕获的TypeError:无法执行appendChild&#39; on&#39; Node&#39;:参数1不属于&#39; Node&#39;。
答案 0 :(得分:0)
你正在使用一个简单的html字符串,可以设置为choicesHTML.innerHTML
:
choicesHTML.innerHTML = choiceHTML;
要附加孩子,您需要使用document.createElement
来创建实际节点。