我试图找出为什么我在控制台上显示单选按钮的值但在运行以下代码时没有显示在浏览器上?

时间:2014-02-25 01:49:47

标签: javascript dom

    for (var i = 0; i < allQuestions[n].choices.length; i++) {
        var input = document.createElement("input");
        input.type = "radio";
        input.name = "choices";
        input.value = "choice" + i;
        var answer = document.getElementById("answer");
        var option = document.createTextNode(allQuestions[n].choices[i]);
        input.appendChild(option);
        answer.appendChild(input);
    }

http://jsfiddle.net/slopeofhope81/g9V9d/

1 个答案:

答案 0 :(得分:0)

input elements cannot have children

  

input元素是一个void元素。 input元素必须有一个开始标记,但不能有结束标记。

and

  

void元素是一个元素,其内容模型在任何情况下都不允许它拥有内容。 Void元素可以具有属性。

您可以在输入后添加文字:

var option = document.createTextNode(allQuestions[n].choices[i]);
answer.appendChild(input);
answer.appendChild(option);

DEMO