【问题标题】:Remove class from sibling when added to (this), toggle (this)添加到 (this)、切换 (this) 时从兄弟姐妹中删除类
【发布时间】:2017-01-28 08:08:52
【问题描述】:

我正在建造一个可以扩展和收缩的小型画廊。父 div 展开,子 div 展开。我希望在单击同级时删除“打开”类,但也希望能够在单击当前“打开”div 时从所有“.panel”div 中删除“打开”。父 div 也扩展为“.full”类。

$(document).ready(function() {
  $('.panel').on('click', function(e) {
    $('.panel').removeClass("open");
    $(this).toggleClass("open"); //this is not working
    if ($(this).hasClass('open')) {
      $(this).parent().addClass("full");
    } else {
      $(this).parent().removeClass("full");
    }
  });
});

【问题讨论】:

    标签: jquery


    【解决方案1】:

    您正在从所有 .panel 元素中删除该类,其中包括用户单击的元素。您需要排除当前元素:

    $('.panel').not(this).removeClass("open");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 2013-04-19
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      • 2014-07-12
      • 2019-05-06
      相关资源
      最近更新 更多