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

Use*_*ame 1 javascript jquery

这是我的单选按钮:

<input type="radio" name="coolSwitch" value="0">Off
<input type="radio" name="coolSwitch" value="1">On
Run Code Online (Sandbox Code Playgroud)

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

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

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

为什么?

Jos*_*ier 5

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

使用该.eq()方法通过索引获取jQuery对象(而不是DOM元素):

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

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

$('input[type="radio"][name="heatSwitch"]')[0].checked = true;
Run Code Online (Sandbox Code Playgroud)

或者没有jQuery:

document.querySelector('input[type="radio"][name="heatSwitch"]').checked = true;
Run Code Online (Sandbox Code Playgroud)