我使用以下代码,为什么它不起作用?
javascript:$('input[id=mod1radio]:eq(1)').attr('checked', 'checked');
和
<input id="mod1radio" type="radio" name="group1" value="24">
答案 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);