在两个不同的 jQuery 类之间切换

2024-04-19

无法使以下代码正常工作:

$('#changeMode').button().click(function(){
    $('#playfield').toggle(function() {
        $(this).switchClass("gridView","plainView");
    }, function() {
        $(this).switchClass("plainView","gridView");
   });      
});

我无法让它切换以下 div 的类。

<div id="playfield" class="gridView"></div>

有任何想法吗?

编辑:我尝试过这个:

$('#changeMode').button().click(function(){
    if ($('#playfield').attr('class') == "gridView"){
        $('#playfield').removeClass("gridView");
        $('#playfield').addClass("plainView");
    } else {
        $('#playfield').removeClass("plainView");
        $('#playfield').addClass("gridView");
    }
});

而且看起来效果很好,到底是什么?


我不知道 switchClass,也许您正在考虑toggleClass?无论如何 - 我有一些使用这个的旧代码(我在使用toggleClass时遇到了一些奇怪的问题):

$(this).removeClass("gridView").addClass("plainView"); 

or

$(this).toggleClass("gridView plainView");

反之亦然。

Example:

$('#changeMode').button().click(function(){
    $('#playfield').toggle(function() {
        $(this).toggleClass("gridView plainView");
        //$(this).removeClass("gridView").addClass("plainView"); 
    }, function() { 
        $(this).toggleClass("plainView gridView");
        //$(this).removeClass("plainView").addClass("gridView"); 
   });      
});

但正如其他人建议的那样,toggleClass 应该可以满足您的需求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在两个不同的 jQuery 类之间切换 的相关文章