【问题标题】:How to toggle class of closest element如何切换最近元素的类
【发布时间】:2018-01-19 11:20:58
【问题描述】:

我正在使用以下代码单击 .process 类中的图像,并在单击 .process-info 时使用 .process--shown 切换类。

此代码有效;但是,它会切换进程类——显示在页面上所有元素的类 .process-info;

我只想激活被点击的元素

$(document).ready(function(){

  $(".process .process--img").click(function(){
  $(".process .process--info").toggleClass("process--shown") 
});    
  $(".process .process--info").click(function(){
    $(".process .process--info").toggleClass("process--shown") 
  });    
});

【问题讨论】:

  • 在点击事件中将选择器从 $(".process .process--info") 更改为 $(this)
  • 有一个jQuery选择器叫做closest...
  • 显示相关的html结构

标签: javascript jquery


【解决方案1】:

使用this 当前元素上下文使用.closest() 遍历到公共父元素,然后使用.find()

$(".process .process--img").click(function () {
    $(this).closest(".process").find(".process--info").toggleClass("process--shown")
});

【讨论】:

  • 这太完美了,非常感谢!
  • 是否可以添加一个事件来删除显示的类,如果它存在于 Dom 中,如果单击一个元素并显示将被切换以从其他元素中删除它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-05
  • 1970-01-01
  • 2015-02-15
  • 2013-09-23
  • 1970-01-01
相关资源
最近更新 更多