0

このメニューでアクティブクラスに困っています。

ここに画像の説明を入力

ここでわかるように、アクティブなクラスはすべての注文タブにあります。

過去のタブのクラスを削除してクリックすると、各タブでこれをアクティブにしたいと思います。

このメニューの HTML-

<ul id="mainSideMenu" class="nav nav-list nav-side" >
    <li class="accordion-group">
        <div class="accordion-heading active ">
            <a href="#accDash" id="AllOrders" data-parent="#mainSideMenu"  data-toggle="collapse" class="accordion-toggle ">
                <span class="item-icon fontello-icon-monitor "></span><i class="chevron fontello-icon-right-open-3"></i>
                All Orders
            </a>
        </div>
    </li>
</ul>

ここにアクティブなクラスがあります-

.nav-side .accordion-group > .active {
    background: url("../img/background/body-bg-02.jpg") repeat scroll 0 0;
}

jQueryで試してみました-

$(function(){
    $(".accordion-group").click(function(){
        $(".accordion-group").removeClass('.active').addClass('.active');
        $(this).addClass('.active');
    });
});

それは起こっていませんでした

これはここでライブで行われています - Boo 管理者テンプレート

4

7 に答える 7

2

addClassと の先頭のドットは必要ありませんremoveClass
そして、なぜ2行目にアクティブなクラスを追加し直すのですか? その部分を取り除きます。
そして、グループではなくクラスを見出しに追加していますか?

$(function(){
    $(".accordion-group").click(function(){
        $(".accordion-heading").removeClass('active');
        $(this).find('.accordion-heading').addClass('active');
    });
});
于 2013-04-09T09:18:55.480 に答える
0

クラス.accordion-groupを持っているのはあなたのものではないので、それを追加したり削除したりする必要はありません。さらに、ではなくactiveという名前のクラスを追加および削除する必要があります。active.active

また、現在アクティブなクラスを削除した直後に再追加しているようですが、これはエラーです。

$(function(){
   $(".accordion-group").click(function(){
      $(".accordion-group .active").removeClass('active');
      $('.accordion-heading', this).addClass('active');
   });
});
于 2013-04-09T09:19:27.107 に答える
0

これを試して

$(".accordion-group").removeClass('active').addClass('active');

クラス名で十分です。.クラス名の前を削除します

于 2013-04-09T09:19:29.310 に答える
0

.from クラス名を削除

$(function(){
$(".accordion-group").click(function(){
$(".accordion-group").removeClass('active').addClass('active');
$(this).addClass('active');
});
});
于 2013-04-09T09:19:37.513 に答える
0
<ul class="ulVertical">
        <li id="firstLink" class="vertical-selected-li">My First Link</li>
        <li id="secondLink" class="">My Second List</li>
        <
    </ul>

<script type="text/javascript">
$(document).ready(function () { 
    $("#secondLink").click(function () {

    $(this).siblings().removeClass('vertical-selected-li');
    $(this).addClass('vertical-selected-li');

    }); 
});
</script>
于 2013-04-09T09:23:57.467 に答える
0
$(this).addClass('active');

削除する.

.addClass().removeClass( ) の詳細を読む

于 2013-04-09T09:20:18.577 に答える
0

これはアコーディオン プラグインのように見えるので、クリックは "a" によってキャッチされ、li.accordion-group には伝達されないと思います (そのため、コードが実行されていないように見えます)。 「リ」の代わりに「ア」?

何かのようなもの

$(function(){
    $(".accordion-group .accordion-heading a").click(function(){
        $(".accordion-heading").removeClass('active');
        $(this).parent().addClass('active');
    });
});

ところで、.click() の代わりに .on() メソッドを使用します :)

于 2013-04-09T13:12:00.627 に答える