将单选按钮标记为已检查的jquery

时间:2012-12-28 00:23:55

标签: jquery

我使用以下代码,为什么它不起作用?

javascript:$('input[id=mod1radio]:eq(1)').attr('checked', 'checked');

<input id="mod1radio" type="radio" name="group1" value="24">

2 个答案:

答案 0 :(得分:2)

因为eq()使用了基于0的索引(即如果你只有其中一个,那么你应该因为id是不同的,你选择离开数组的末尾。eq(0)应该工作)。

但是如果你有一个id,为什么这个复杂的选择呢?为什么不只是$("#mod1radio")

另外,正如评论中所述,attr()已被弃用,您应该使用prop()

答案 1 :(得分:0)

只有输入。 eq(1)会选择第二个。 @charlietfl建议使用prop()代替attr()进行jQuery&gt; =版本1.6。

  

从jQuery 1.6开始,.attr()方法为尚未设置的属性返回undefined。此外,.attr()不应用于普通对象,数组,窗口或文档。要检索和更改DOM属性,请使用.prop()方法。

由于ID mod1radio必须是唯一的,只需使用

即可
$('#mod1radio').prop('checked', true);​

JSFiddle http://jsfiddle.net/mFkQQ/3/

如果mod1radio应该是一个类,那么请使用

$('.mod1radio:eq(0)').prop('checked', true);​

小提琴http://jsfiddle.net/mFkQQ/5/