有没有办法使用 name 属性而不是 class 或 id 设置默认选中的复选框?
<input type="checkbox" name="test">
我试过这个但不起作用:
document.getElementByName("test").checked = true;
请提供一个jsfiddle。
提前致谢!
有没有办法使用 name 属性而不是 class 或 id 设置默认选中的复选框?
<input type="checkbox" name="test">
我试过这个但不起作用:
document.getElementByName("test").checked = true;
请提供一个jsfiddle。
提前致谢!
是的,有可能。但是,没有getElementByName
方法,只有getElementsByName
。因此,如果您有一个带有 name 的元素"test"
,您可以这样做:
document.getElementsByName("test")[0].checked = true;
否则,您可以为元素设置一个 ID 并使用document.getElementById
.
演示:http: //jsfiddle.net/GKFcR/
您可以document.querySelector
在任何现代浏览器中使用按属性进行选择。
document.querySelector('[name=test]').checked = true;
你可以用 jQuery 做到这一点
$('input[name="test"]').attr('checked',true);
或 Jquery 1.7+ 使用prop
方法
$('input[name="test"]').prop('checked',true);
您可以使用 jQuery 或不使用:
$('input[name="test"]').prop('checked', true);
document.getElementsByName("test")[0].checked = true;
您的示例不起作用,因为该方法getElementsByName
返回一个元素数组。
或者,如果您控制 HTML,您可以在服务器上将它们设置为选中:
<input type="checkbox" name="test" checked="checked">
<input type="checkbox" name="test">
<input type="checkbox" name="test2">
<input type="checkbox" name="test2">
--------------------
// by jquery
$("input[name='test']").attr('checked','checked')
// by javascript
document.getElementsByName("test2")[0].checked = true;
这是示例:http: //jsfiddle.net/85x74/
使用 jquery 更简单:
<input type="checkbox" name="test">
在 jquery 中:
$('input[name="test"]').attr('checked','checked');
在 JavaScript 中:
document.getElementsByName("test")[0].checked = true;