检查所有没有Jquery的单选按钮
问题描述:
我想检查多个单选按钮组的第一个元素。检查所有没有Jquery的单选按钮
我使用Firebug,这就是为什么我不想要的,是的,我知道有firequery,但像他们这样做是在旧时代:)
任何帮助yould是巨大的,必须有一个办法,thx提前。
答
循环向后上方document.getElementsByTagName('input')
并设置checked
到true
如果type
等于"radio"
。
如果您尝试检查同一组中的多个按钮,则最后一个按钮将保持不变。
因此,向后循环将最终检查每个组中的第一个选项。
答
更新
感觉有点傻在这里,你说你使用Firebug,因此火狐,所以我们有querySelector
可用。因此检查在任何给定组中的第一个单选按钮被一个班轮:
document.querySelector('input[type="radio"][name="theGroupName"]').checked = true;
querySelector
返回第一匹配元件,和因此上述将与type="radio"
并返回第一input
元件name="theGroupName"
。然后我们将其checked
设置为true
。
想当然地认为不会做的第一所有群体,但它给你更多的控制权,是(再次)一个班轮 —方便Firebug的。
原来的答复
您可以使用getElementsByTagName
得到的文档顺序的所有input
元素。然后循环遍历它们,只处理type="radio"
并记住你最后的name
;为每个名称的第一个标记checked = true
。
例如为:
var inputs = document.getElementsByTagName('input');
var lastName, index, input;
for (index = 0; index < inputs.length; ++index) {
input = inputs.item(index);
if (input.type.toLowerCase() === "radio") {
if (input.name !== lastName) {
lastName = input.name;
input.checked = true;
}
}
}
如果要限制某些容器,就可以使用element
version of getElementsByTagName
。
我该怎么做?向后循环的声音完全像我所需要的 – Harry 2012-02-05 19:51:23
'for(var i = arr.length - 1; i> = 0; i - )' – SLaks 2012-02-05 19:53:39
这似乎是错误的...然而,它非常简单,它应该工作。 :-) – 2012-02-05 19:55:49