我使用以下代码根据数组生成动态单选按钮。 此代码生成多个带有标签的单选按钮。 当我尝试获取选中的单选按钮时,我将无线电组的名称传递给document.getElementsByName()。这返回一个节点列表项包含所有单选按钮。
Console.log()显示节点列表的内容如下:
[item: function]:
0: input#r1
1: input#r2
2: input#r3
当我尝试获取节点列表的长度时,我得到0,这样我就无法访问节点列表来获取选中的单选按钮。
ee.length /// 0
你能帮我找一下它长度为0的原因吗?
//代码
function addradiobutton( arr) {
var foo = document.getElementById("mydiv");
for(var i=0;i<arr.length;i++){
var label = document.createElement("label");
var element = document.createElement("input");
element.setAttribute("type", "radio");
element.setAttribute("value", arr[i]);
element.setAttribute("name", "gr");
element.setAttribute("id", arr[i]);
if (i==0)
element.setAttribute("checked", true);
label.appendChild(element);
label.innerHTML += arr[i];
label.innerHTML += '<br />';
foo.appendChild(label);
}
}
答案 0 :(得分:1)
在添加单选按钮之前,您尝试获取ee
的长度(这就是长度为0的原因)。
添加单选按钮后调用警报会给出正确的长度:
addradiobutton(arr);
alert(ee.length);
console.log(ee.length);
更新了小提琴:http://jsfiddle.net/FPqV6/4/