jQuery toggle()方法的最佳替代方案?

时间:2013-03-27 15:47:01

标签: javascript jquery

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;
}

4 个答案:

答案 0 :(得分:9)

在这种情况下,只需使用.toggleClass()

$("a").click(function(){
    $("div").toggleClass("a b");
});

答案 1 :(得分:0)

http://api.jquery.com/toggleClass/

toggleClass()似乎是您想要/需要的。

答案 2 :(得分:0)

如果你只有一个类来切换(启用和删除它),下面应该可以正常工作:

$("a").click(function(){
        $(this).toggleClass('class1', '');
});

答案 3 :(得分: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>