为什么可以't我用jQuery检查这个单选按钮

Why can't I check this radio button using jQuery?

本文关键字:检查 jQuery 单选按钮 我用 为什么      更新时间:2023-09-26

以下是我的单选按钮:

<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(…)

为什么?

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

使用.eq()方法通过索引获取jQuery对象(而不是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;