You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery结合父选择器实现复选框控制div背景色切换?

实现复选框勾选切换对应Div背景色的jQuery方案

首先定义一个用于高亮背景的CSS类,让样式切换更灵活:

.highlight-bg {
  background-color: #e8f4f8; /* 可替换为任意你需要的背景色 */
  padding: 10px; /* 可选,优化视觉效果 */
}

接下来用jQuery实现核心逻辑,监听复选框状态变化,切换父级div的样式:

$(document).ready(function() {
  // 监听复选框的change事件
  $('#personal-info-checkbox').on('change', function() {
    // 找到当前复选框所在的父级checkbox-container
    const $targetDiv = $(this).closest('.checkbox-container');
    // 自动切换高亮类:勾选时添加,取消时移除
    $targetDiv.toggleClass('highlight-bg');
  });
});

关键代码说明

  • $(this).closest('.checkbox-container'):从当前复选框向上查找最近的带.checkbox-container类的父元素,比parent()更稳定,就算后续HTML嵌套层级调整也能精准定位目标div。
  • toggleClass('highlight-bg'):jQuery内置的切换方法,自动判断元素是否已拥有该类——存在则移除,不存在则添加,完美适配复选框勾选/取消的场景。

如果需要手动判断状态(比如要附加其他逻辑),也可以这么写:

$(document).ready(function() {
  $('#personal-info-checkbox').on('change', function() {
    const $targetDiv = $(this).closest('.checkbox-container');
    if ($(this).is(':checked')) {
      $targetDiv.addClass('highlight-bg');
      // 可添加勾选后的额外操作
    } else {
      $targetDiv.removeClass('highlight-bg');
      // 可添加取消勾选后的额外操作
    }
  });
});

完整可运行的代码示例:

<div class="checkbox-container">
  <input type="checkbox" class="checkbox-border" id="personal-info-checkbox">
  <label for="personal-info-checkbox"> Mark as reviewed and acknowledged</label>
</div>

<style>
.checkbox-container {
  margin: 10px 0;
  padding: 8px;
  border: 1px solid #eee;
}
.highlight-bg {
  background-color: #e8f4f8;
}
</style>

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(document).ready(function() {
  $('#personal-info-checkbox').on('change', function() {
    $(this).closest('.checkbox-container').toggleClass('highlight-bg');
  });
});
</script>

内容的提问来源于stack exchange,提问作者Adamb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:01:46