2

有没有办法使用 name 属性而不是 class 或 id 设置默认选中的复选框?

<input type="checkbox" name="test">

我试过这个但不起作用:

document.getElementByName("test").checked = true;

请提供一个jsfiddle。

提前致谢!

4

6 回答 6

6

是的,有可能。但是,没有getElementByName方法,只有getElementsByName。因此,如果您有一个带有 name 的元素"test",您可以这样做:

document.getElementsByName("test")[0].checked = true;

否则,您可以为元素设置一个 ID 并使用document.getElementById.

演示:http: //jsfiddle.net/GKFcR/

于 2013-02-19T11:49:11.500 回答
3

您可以document.querySelector在任何现代浏览器中使用按属性进行选择。

document.querySelector('[name=test]').checked = true;

http://jsfiddle.net/ExplosionPIlls/xpxHe/

于 2013-02-19T11:49:16.913 回答
3

你可以用 jQuery 做到这一点

$('input[name="test"]').attr('checked',true);

或 Jquery 1.7+ 使用prop方法

 $('input[name="test"]').prop('checked',true);
于 2013-02-19T11:49:41.703 回答
2

您可以使用 jQuery 或不使用:

$('input[name="test"]').prop('checked', true);
document.getElementsByName("test")[0].checked = true;

http://jsfiddle.net/UZB5Y/1/

您的示例不起作用,因为该方法getElementsByName返回一个元素数组。

或者,如果您控制 HTML,您可以在服务器上将它们设置为选中:

<input type="checkbox" name="test" checked="checked">
于 2013-02-19T11:52:18.487 回答
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;

这是示例:http: //jsfiddle.net/85x74/

于 2013-02-19T11:57:07.377 回答
0

使用 jquery 更简单:

<input type="checkbox" name="test">

在 jquery 中:

$('input[name="test"]').attr('checked','checked');

在 JavaScript 中:

document.getElementsByName("test")[0].checked = true;
于 2013-02-19T12:40:49.377 回答