使用Javascript,如何在html中获取具有相同id的单选按钮的项数

使用Javascript,如何在html中获取具有相同id的单选按钮的项数,javascript,Javascript,使用Javascript,如何在html中获取具有相同id的单选按钮的项数 我知道,如果我能在单选按钮顶部包装一个表单,我可以得到如下长度 document.formname.radiobtnobj.length; 想知道如果我没有该控件的父窗体,是否有办法获取项目数。所有ID都必须是唯一的。复制ID是糟糕的HTML 也就是说,一种方法是为所有单选按钮指定一个类名,并获取所有共享该类名的项 在表单中,我们通常通过赋予单选按钮相同的名称(而不是ID)对其进行分组。在这种情况下,元素是一个数组 v

使用Javascript,如何在html中获取具有相同id的单选按钮的项数

我知道,如果我能在单选按钮顶部包装一个表单,我可以得到如下长度

document.formname.radiobtnobj.length;

想知道如果我没有该控件的父窗体,是否有办法获取项目数。

所有ID都必须是唯一的。复制ID是糟糕的HTML

也就是说,一种方法是为所有单选按钮指定一个类名,并获取所有共享该类名的项

在表单中,我们通常通过赋予单选按钮相同的名称(而不是ID)对其进行分组。在这种情况下,元素是一个数组

var myRadioButtons = document.forms[0].yourRadioButtonName // this gives you back your array.

alert(myRadioButtons[0].value)
alert(myRadioButtons[0].checked)
alert(myRadioButtons.length)

所有ID必须是唯一的。复制ID是糟糕的HTML

也就是说,一种方法是为所有单选按钮指定一个类名,并获取所有共享该类名的项

在表单中,我们通常通过赋予单选按钮相同的名称(而不是ID)对其进行分组。在这种情况下,元素是一个数组

var myRadioButtons = document.forms[0].yourRadioButtonName // this gives you back your array.

alert(myRadioButtons[0].value)
alert(myRadioButtons[0].checked)
alert(myRadioButtons.length)

正如Diodeus提到的,使用name属性-不要重复id属性。然后可以使用
document.getElementsByName()
。不需要

var radioGrp = document.getElementsByName(radioButtonName)[0];

另外,除非有充分的理由,否则不要使用
eval()
。求值dom对象的ID不是一个。

如Diodeus所述,使用name属性-不要重复ID属性。然后可以使用
document.getElementsByName()
。不需要

var radioGrp = document.getElementsByName(radioButtonName)[0];
另外,除非有充分的理由,否则不要使用
eval()
。求值dom对象的ID不是唯一的方法