我试图在一个按钮上切换一个类,该类将根据状态动态分配。这是我的代码:

$('body').on('click', '.button', function () {
    var $itm = $(this).children(".icon");
    if ($itm.hasClass('hide')) {
        $itm.toggleClass('unhide', 'hide')
    } else {
        $itm.toggleClass('hide', 'unhide')
    }
});

我想要实现的是:
如果按钮具有.hide类,则onclick将此类切换为.unhide,反之亦然。

到目前为止,只有在第二次单击时才能进行类切换。第一次单击不会更改任何内容。

最佳答案

.toggleClass接受一个或多个用这样的空格分隔的类名:

$('body').on('click', '.button', function () {
    $(this).children(".icon").toggleClass("hide unhide");
});

工作示例(对HTML进行了调整):http://jsfiddle.net/jfriend00/9tV33/

10-07 12:39