为什么我的代码不起作用?我需要模拟单击单选按钮。单选按钮具有点击事件。
$(".form-group").click(function() {
alert("clicked")
$(this).closest(".hotelObj", function() {
$(this).trigger("click");
})
});
.form-group {
background-color: pink;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-group">
<label for="male" style="font-weight:800;">chose
<input type="radio" value="z6" class="hotelObj" name="hotelType">
<p>description</p>
</label>
</div>
答案 0 :(得分:2)
鉴于您提供的标记,除非您没有其他要求,否则不需要JavaScript即可完成此任务。
由于label
包含了您希望点击处理程序影响的所有区域,因此它应该可以按原样工作(在粉红色框中单击任何位置都会使单选按钮变为选中状态。)
.form-group {
background-color: pink;
}
<div class="form-group">
<label style="font-weight:800;">chose
<input type="radio" value="z6" class="hotelObj" name="hotelType">
<p>description</p>
</label>
</div>
答案 1 :(得分:1)
您的代码无法正常工作,因为您正在使用.closest()
jquery方法,该方法将查找从其自身开始然后在DOM树中向上的元素。
永远不会找到带有类.hotelObj
的元素。
您需要使用.find()
方法来查找.hotelObj
,因为它位于.form-group
中。
$(".form-group").click(function() {
$(this)
.find(".hotelObj")
.trigger("click");
});
答案 2 :(得分:1)
jq "if .maxHeight then .maxHeight = null else . end "