0

我正在使用以下代码根据数组生成动态单选按钮。此代码生成许多带有垂直标签的单选按钮。当我尝试获取选中的单选按钮时,我将单选组的名称传递给 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);
        }
    }
4

1 回答 1

1

您试图在ee添加单选按钮之前获取长度(这就是长度为 0 的原因)。

添加单选按钮后调用警报会给出正确的长度:

addradiobutton(arr);
alert(ee.length);
console.log(ee.length);

更新小提琴:http: //jsfiddle.net/FPqV6/4/

于 2013-05-29T19:15:57.017 回答