2

クラスが状態に基づいて動的に割り当てられる単一のボタンでクラスを切り替えようとしています。これが私のコードです:

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

私が達成しようとしているのはこれです: ボタンに class がある場合、 は.hideこのonclickクラスをに切り替え.unhide、その逆も同様です。

これまでのところ、クラスの切り替えが機能するのは、2 回目のクリック時だけです。最初のクリックでは何も変わりません。

4

1 に答える 1

5

.toggleClass次のように、スペースで区切られた 1 つ以上のクラス名を受け入れます。

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

実際の例 (HTML を微調整): http://jsfiddle.net/jfriend00/9tV33/

于 2013-11-09T22:50:06.890 に答える