以下是我的单选按钮:
<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(…)
为什么?
答案 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;