在折叠时移除 class (jquery)

Remove class on collapse (jquery)

我试图寻找答案,但 none 已经解决了我的问题。我是学习理解这种代码语言的初学者,我认为我的问题就在那里。

我已经创建了一个 JSFiddle,其中包含我目前所拥有的。

(http://jsfiddle.net/fxmcb5yv/2/)!

这是我的问题:

当 div 扩展时,它会添加 class 'selected',它会执行以下操作:

.selected {
    background-color: #70a6b7;
    color: #ffffff;
}

这一切都很好。但是当我折叠它时,我希望 .selected 被删除。我已经用 removeClass 等尝试了几件事,但他们都没有做任何事情或导致更多问题。

我想知道是否有人可以帮我解决这个问题。

这是我试过的:

<script>
$(document).ready(function(){
$(".desc_div").slideUp();
$(".open_div").click(function(){
    $(this).addClass("selected").next(".desc_div").slideToggle("slow").siblings('.desc_div').slideUp().removeClass("selected").end();
  });
    })
</script>

您需要使用 .toggleClass() 而不是 .addClass() 来切换类名:

$(".open_div").click(function(){
  $(this).toggleClass("selected").next(".desc_div").slideToggle("slow").siblings('.desc_div').slideUp().removeClass("selected").end();
});

Working Demo