0

開いているメニュー項目で「bg」クラスを切り替える必要があります。一度に 1 つずつアクティブ化および非アクティブ化すると、正常に機能します。ただし、別のクラスが既にアクティブになっているときに別のクラスを開くと、クラスが適切に追加/削除されません。乾杯。

http://jsfiddle.net/6a3eZ/31/

jQuery(document).ready(function(){                  
    jQuery('.menu ul').hide();
    jQuery('.menu li.sub').click(function() {
        jQuery(this).find('a:first').toggleClass('bg');
        jQuery(this).find('ul:first').toggle(0)
               .end().siblings('li').find('ul').hide(0);
    });
});
4

1 に答える 1

3

ここに作業バージョンがあります: http://jsfiddle.net/6a3eZ/39/

次のコードを使用します。

jQuery('.menu li.sub').click(function () {
    var target = jQuery(this).children('a');

    if(target.hasClass('bg')){
        target.removeClass('bg');
    }else{
        jQuery('.menu-item > a').removeClass('bg');
        target.addClass('bg');
    }

    jQuery(this).find('ul:first')
                .toggle(0)
                .end()
                .siblings('li')
                .find('ul')
                .hide();
});
于 2013-05-23T13:21:58.773 に答える