javascript - 如何使用每个函数 jQuery 在其父元素上添加类

标签 javascript html jquery css

只是问你能告诉我如何实现它,当我单击按钮时,它应该只在其父 div 上添加类。目前,即使我单击第一个按钮,它也会添加父 div

$( ".main-btn" ).each(function(index) {
    $(this).on("click", function(){
        $(".main").addClass("addClass")
    });
});
.main {
  background: yellow;
  margin-bottom: 3px;
  height: 50px;
  
}

.main.addClass {
  background: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="main">
  <div class="main-btn">Button</div>
</div>

<div class="main">
  <div class="main-btn">Button</div>
</div>

最佳答案

此处不需要 .each(),您只需通过 .closest() 从单击的元素引用父元素即可...

$(".main-btn").on("click", function() {
  $(this).closest(".main").addClass("addClass");
});
.main {
  background: yellow;
  margin-bottom: 3px;
  height: 50px;
  
}

.main.addClass {
  background: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.slim.min.js"></script>
<div class="main">
  <div class="main-btn">Button</div>
</div>

<div class="main">
  <div class="main-btn">Button</div>
</div>


此外,you might not need jQuery

document.querySelectorAll(".main .main-btn").forEach((btn) => {
  btn.addEventListener("click", (e) => {
    e.target.closest(".main").classList.add("addClass");
  });
});

关于javascript - 如何使用每个函数 jQuery 在其父元素上添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74134622/

相关文章:

javascript - 合并两个 jQuery 对象

javascript - 在我的导航栏中更改切换图标

javascript - Bootstrap 下拉列表与 jQuery.dropdown 冲突

javascript - 将数据属性与超文本链接一起使用

jquery - 无论如何,是否可以垂直对齐谷歌组织图表可视化中的框

javascript - 为 Knockoutjs 和映射器扩展添加记录功能

javascript - 如何在此代码笔中更改为整数而不是 %

javascript - jQuery 3.0 removeAttr 与 prop

html - 按钮很高,无法改变高度

javascript - 关于从 Sprite 添加 100+ 图像然后将它们垃圾处理的问题(长)