使用类取消选中Javascript中的单选按钮
以下是我的两个收音机按钮:使用类取消选中Javascript中的单选按钮,javascript,class,button,checkbox,Javascript,Class,Button,Checkbox,以下是我的两个收音机按钮: <input type="radio" name="sex" id="Button1" class="Button"/> <input type="radio" name="sex" id="Button2" class="Button"/> 它会取消选中按钮2。但是我想通过使用类取消选中它 当函数包含: document.getElementsByClassName('Button').checked = false; 它不会取消选
<input type="radio" name="sex" id="Button1" class="Button"/>
<input type="radio" name="sex" id="Button2" class="Button"/>
它会取消选中按钮2。但是我想通过使用类取消选中它
当函数包含:
document.getElementsByClassName('Button').checked = false;
它不会取消选中按钮2
为什么?解决方案是什么
谢谢。:)
getElementsByClassName
返回节点列表(类似于数组),而不是元素
如果要对节点列表中的每个元素执行某些操作,则必须循环执行该操作,并对列表中的每个项目执行该操作
var node_list = document.getElementsByClassName('Button');
for (var i = 0; i < node_list.length; i++) {
node_list[i].checked = false;
}
var node_list=document.getElementsByClassName('Button');
对于(变量i=0;i
document.getElementsByClassName返回该类名元素的节点列表(类似于这些元素的数组)。因此,您应该循环浏览它并更改每个元素的选中状态
对于一般方法(您可以有任意多个复选框),请使用以下代码
var allButtons = document.getElementsByClassName("Button");
for (i=0; i<allButtons.length; i++) {
allButtons[i].checked = false;
}
getElementsByClassName()
返回一个集合(类似于数组)。所以你真的必须这么做
document.getElementsByClassName('Button')[1].checked = false;
但是你不能确定你的
按钮2
是数组中的第二个元素,如果你有更多的元素使用class按钮,你必须迭代class元素
var elements=document.getElementsByClassName('Button');
Array.prototype.forEach.call(elements, function(element) {
element.checked = false;
});
您正在调用document.getElementsByClassName('Button')。checked=false代码>应该是文档的时间。getElementsByClassName('Button')[1]。选中=false代码>
getElementsByClassName()
返回一个数组
函数取消选中(){
document.getElementsByClassName('Button')[1]。checked=false;
}
两个按钮具有相同的类名,您希望代码如何工作?您必须给它一些东西来区分所需的按钮。它不会返回数组。它返回一个节点列表。如果试图对其调用数组方法,则会出现错误。@Quentin:Edited。我只是想把事情简化。无论如何,编辑。:)
var allButtons = document.getElementsByClassName("Button");
allButtons[0].checked = false;
allButtons[1].checked = false;
document.getElementsByClassName('Button')[1].checked = false;
var elements=document.getElementsByClassName('Button');
Array.prototype.forEach.call(elements, function(element) {
element.checked = false;
});