jQuery 切换类

3
我有一些元素,它们都被命名为 .client-dark 和 .client-light。
我想交换这些类,并尝试如下操作...
 $('.clients-logo .container-fluid .row:nth-child(2)').find('.client-light').addClass('client-dark').removeClass('client-light');
 $('.clients-logo .container-fluid .row:nth-child(2)').find('.client-dark').addClass('client-light').removeClass('client-dark');

以上代码的第一行有效,但第二行覆盖了它,是否可能同时进行这两个操作?
2个回答

5
你可以使用toggleClass()一次性更改两个类。它支持使用以空格分隔的多个类名:
$('.clients-logo .container-fluid .row:nth-child(2)').find('.client-light,.client-dark').toggleClass('client-dark client-light');

只需同时搜索并切换两者。以下是一个快速测试以展示其工作原理:https://jsfiddle.net/TrueBlueAussie/r59uw7m6/(只需单击输出面板中的任意位置即可切换)。
请注意:正如@gegillam所提到的,通常最好拥有基本样式和一个单一的类,当切换时将其更改为相反的状态。

0
你可以做类似这样的事情。
$('.clients-logo').toggleClass('dark-mode');

浅色模式可以成为默认模式,但它不会明确地显示在项目上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接