有没有办法设置默认选中的复选框,名称属性不是class或id?
<input type="checkbox" name="test">
我试过这个但不起作用:
document.getElementByName("test").checked = true;
请提供一个jsfiddle。
提前致谢!
答案 0 :(得分:6)
是的,有可能。但是,没有getElementByName
方法,只有getElementsByName
。因此,如果您有一个名为"test"
的元素,则可以执行以下操作:
document.getElementsByName("test")[0].checked = true;
否则,您可以为元素设置ID并使用document.getElementById
。
答案 1 :(得分:3)
您可以使用document.querySelector
在任何现代浏览器中按属性进行选择。
document.querySelector('[name=test]').checked = true;
答案 2 :(得分:3)
您可以使用jQuery执行此操作
$('input[name="test"]').attr('checked',true);
或Jquery 1.7+使用prop
方法
$('input[name="test"]').prop('checked',true);
答案 3 :(得分:2)
您可以使用jQuery或不使用:
$('input[name="test"]').prop('checked', true);
document.getElementsByName("test")[0].checked = true;
您的示例不起作用,因为方法是getElementsByName
,它返回一个元素数组。
或者,如果您控制HTML,您只需在服务器上将其设置为已选中:
<input type="checkbox" name="test" checked="checked">
答案 4 :(得分:1)
<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;
答案 5 :(得分:0)
使用jquery更简单:
<input type="checkbox" name="test">
在jquery中:
$('input[name="test"]').attr('checked','checked');
在javascript中:
document.getElementsByName("test")[0].checked = true;