首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果至少检查了一个输入,则toggleClass到其祖先兄弟- JQuery

如果至少检查了一个输入,则toggleClass到其祖先兄弟- JQuery
EN

Stack Overflow用户
提问于 2021-04-19 14:23:26
回答 1查看 26关注 0票数 0

具有多个具有此结构的.ancestor元素

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="ancestor">
    <div class="parent-1"></div>
    <div class="parent-2">
        <div class="checkbox-group">
            <input type="checkbox">
            <input type="checkbox">
            <input type="checkbox">
        </div>
    </div>
</div>

使用JQuery,如果在.parent-1中至少选中了一个复选框,我可以向.checkbox-group添加一个类吗?如果所有的复选框都被取消选中,我可以删除它吗?

我想出了这个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if ($('.checkbox-group input:checked').length > 0 ) {
    $(this).closest('.parent-2').siblings('.parent-1').toggleClass("active");
}

但我想我做错了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-19 14:37:05

使用:has()选择器

https://api.jquery.com/has-selector/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('.parent-2:has(.checkbox-group input:checked)')
  .siblings('.parent-1')
  .toggleClass('active')
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.active { color: red }
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="ancestor">
  <div class="parent-1">state</div>
  <div class="parent-2">
    <div class="checkbox-group">
      <input type="checkbox">
      <input type="checkbox" checked>
      <input type="checkbox">
    </div>
  </div>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67163816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文