为什么我不能使用jQuery检查这个单选按钮?

时间:2015-12-13 02:58:11

标签: javascript jquery

以下是我的单选按钮:

<input type="radio" name="coolSwitch" value="0">Off
<input type="radio" name="coolSwitch" value="1">On

当我加载页面时,已经单击了第二个按钮。我想运行JS来检查第一个。这是我的JS:

$('input[type="radio"][name="heatSwitch"]')[0].prop('checked',true);

但是我收到了这个错误:$(...)[0].prop is not a function(…)

为什么?

1 个答案:

答案 0 :(得分:5)

这是因为您正在访问jQuery object中索引为0的DOM元素。您不能在本机DOM元素上使用jQuery方法,这就是您看到错误的原因。

使用.eq() method按索引获取jQuery object(而不是DOM元素):

$('input[type="radio"][name="heatSwitch"]').eq(0).prop('checked', true);

作为旁注,值得一提的是,您甚至不必使用.prop()方法。如果您正在访问DOM元素,只需直接修改checked属性:

$('input[type="radio"][name="heatSwitch"]')[0].checked = true;

或没有jQuery:

document.querySelector('input[type="radio"][name="heatSwitch"]').checked = true;