1

最初のクリックでこの CSS を表示し、次のクリックで削除しようとしていますが、toggleClass が機能していないようで、以下のコードも機能していません。私が得ることができるのは、表示する CSS だけであり、削除されることはありません。これは、iOS の Safari で使用するためのものです。助けてくれてありがとう!

                var menu_enabled = false;

                $('#nav a').click(function () {
                    if (menu_enabled == true) {
                        $(this).removeClass('sf-js-enabled');
                        var menu_enabled = false;
                    }
                    else {
                        var menu_enabled = true;
                        $(this).addClass('sf-js-enabled');
                    }
                });
4

3 に答える 3

3

You should checkout .toggleClass(), looks like it's exactly what you're wanting.

$('#nav a').click(function () {
    $(this).toggleClass('sf-js-enabled');
});
于 2012-02-15T22:33:54.507 に答える
0

おそらく .className 属性を使用していますか?

var menu_enabled = false;

$('#nav a').click(function () {
 if (menu_enabled == true) {
  $(this).className = "";
  menu_enabled = false;
 }else 
 {
  menu_enabled = true;
  $(this).className = 'sf-js-enabled';
 }
});
于 2012-02-15T22:44:38.883 に答える
0

全体的に何を達成しようとしているのか正確にはわかりませんが、 addClass と removeClass はうまく機能するはずです。クリックを追加したい要素にIDまたはクラスを追加しますが、それは個人的な好みです。

$(document).ready(function(){
    $('#element').click(function(){
        if($('#element').hasClass('sf-js-enabled')){
            $('#element').removeClass();
        }
        else{
            $('#element').addClass('sf-is-enabled');
        }
    });
});
于 2012-02-15T22:49:44.227 に答える