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

时间:2015-11-12 18:44:14

标签: javascript html

我在学习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;。

1 个答案:

答案 0 :(得分:0)

你正在使用一个简单的html字符串,可以设置为choicesHTML.innerHTML

choicesHTML.innerHTML = choiceHTML;

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