次のコードを使用して、配列に従って動的ラジオ ボタンを生成しています。このコードは、ラベルが垂直方向にある多数のラジオ ボタンを生成します。チェックされたラジオ ボタンを取得しようとすると、ラジオ グループの名前を 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);
}
}