<ul>
<li>
<input type="radio" name="letter_type" data-custom="Something" value="0"> Something
</li>
<li>
<input type="radio" name="letter_type" data-custom="Something1" value="1"> Something1
</li>
<li>
<input type="radio" name="letter_type" data-custom="Something2" value="2" > Something2
</li>
</ul>
<script>
if ($("input[data-custom='Something1']")) {
alert(true);
$(this).attr('checked', true);
};
</script>
该列表由我的PHP(循环)脚本生成,我想知道为什么这不起作用。我需要在绘制列表后默认选中Something1
。
答案 0 :(得分:2)
答案 1 :(得分:1)
您不需要if
。
$("input[data-custom='Something1']").attr( 'checked', true );
答案 2 :(得分:1)
你需要检查if
的长度,因为jQuery总是返回一个具有length
属性的对象,如果找不到该元素且对象是 truthy 。也可以使用prop
代替attr
来设置checked
值。
var elm = $("input[data-custom='Something1']");
if(elm.length){
alert(true);
elm.prop('checked', true);
}