我想检查一个元素是否有一个带有类的孩子。
所以我用过:
$('input:checkbox, input:radio').on('click', function() {
if($(this).children().hasClass('sub-question')) {
alert('Yes');
}
else {
alert('No');
}
});
我的HTML是以下内容:
<div class="form-group">
<label>Item A
<input type="radio">
</label>
</div>
<div class="form-group">
<label>Item B
<input type="radio">
</label>
<div class="row sub-question">
...
</div>
</div>
但是它不起作用。
您能帮我吗?
谢谢。
this
指复选框/单选按钮的上下文。您需要遍历到最接近的表单组,然后使用.find()
选择器及其长度来检查元素是否存在:
if($(this).closest('.form-group').find('.sub-question').length > 0) {
alert('Yes');
}
else {
alert('No');
}