我有一张这样的物品清单
<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/