我有一张这样的物品清单

<div id="items">

<figure>
<img>
<figcaption>
</figcaption>
</figure>

</div>

在点击图时,我使用代码切换类“figover”来显示一些信息
$('figure').on('click', function () {
$('figcaption').removeClass('figover');
$(this).closest('figure').find('figcaption').toggleClass('figover');
});

这是为了一件事。它在点击一个项目时切换figover并显示信息。单击另一个项目时,figover将从旧项目中移除并切换到新项目中。但如果我在打开figover的情况下单击该项,figover不会被删除。

最佳答案

在从所有figure中删除类时,需要过滤掉当前单击的figcaption元素childfigcaption。试试这个:

$('figure').on('click', function () {
 $('figcaption').not($(this).closest('figure').find('figcaption')).removeClass('figover');
 $(this).closest('figure').find('figcaption').toggleClass('figover');
});

关于jquery - 带有最接近的jQuery toggleclass,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24508805/

10-10 00:19