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