检查当前元素是否在jQuery中具有带有类的子级

问题描述 投票:0回答:1

我想检查一个元素是否有一个带有类的孩子。

所以我用过:

$('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>

但是它不起作用。

您能帮我吗?

谢谢。

jquery children
1个回答
0
投票

this指复选框/单选按钮的上下文。您需要遍历到最接近的表单组,然后使用.find()选择器及其长度来检查元素是否存在:

if($(this).closest('.form-group').find('.sub-question').length > 0) {
    alert('Yes');
}
else {
    alert('No');
}
© www.soinside.com 2019 - 2024. All rights reserved.