jQuery toggle()方法的最佳替代品是什么?

3

jQuery已经弃用了toggle()方法。虽然它很容易切换类,但在搜索stackoverflow时,我发现了其他各种方法来完成相同的任务(Alternative to jQuery's .toggle() method that supports eventData?)。对于这个标记,哪个jQuery代码段应该是理想的切换类?

谢谢

标记:

<a href="#">Toggle Class</a>
<div class="a"></div>

CSS:

.a{
background: #f2f2f2;
}
.b{
background: #ededed;
}

2
为什么不使用.toggleClass()toggle()只是在绑定事件时被弃用,而没有从隐藏和显示中弃用, .toggleClass不是已弃用的。 - David Chase
所选的重复问题并不是这个问题的重复,它实际上建议使用这个问题试图替换的代码。我相信还有一个完全相同的重复问题。 - Kevin B
4个回答

11
在这种情况下,只需使用.toggleClass()
$("a").click(function(){
    $("div").toggleClass("a b");
});

0
如果您只需要切换一个类(启用和删除它),则以下内容应该可以正常工作:
$("a").click(function(){
        $(this).toggleClass('class1', '');
});

或者只需 $(this).toggleClass('class1') - Kevin B

0

toggle()函数用于切换视图,但存在性能问题(建议不要使用)。

toggleClass()用于切换类。

情况:1

<div id='mydiv' class="class1"></div>

$('#mydiv').toggleClass('class1 class2');

output: <div id='mydiv' class="class2"></div>

案例:2

<div id='mydiv' class="class2"></div>

$('#mydiv').toggleClass('class1 class2');

output: <div id='mydiv' class="class1"></div>

案例:3

<div id='mydiv' class="class1 class2 class3"></div>

$('#mydiv').toggleClass('class1 class2');

output: <div id='mydiv' class="class3"></div>

0

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