0

次のコードは、メニュー内でクリックされるすべてのリンクに対してクラス「menu-min」をトグル (挿入および削除) します。#toggle-pane の ID を持つリンクがクリックされた場合にのみ、このスクリプトが実行されるようにします。どうすればいいのかわかりません。どんな助けでも大歓迎です。

<ul class="cbp-vimenu">
        <li><a href="#" class="icon-logo">&nbsp;</a></li>
        <li>
            <a href="#" class="icon-archive"><span class="menu-text"> Dashboard </span></a>
        </li>
        <li>
            <a href="#" class="icon-search"><span class="menu-text"> Search </span></a>
        </li>
        <li>
            <a href="#" class="icon-location"><span class="menu-text"> Location </span></a>
        </li>
        <li>
            <a href="#" class="icon-images"><span class="menu-text"> Images </span></a>
        </li>
        <li>
            <a href="#" class="icon-download"><span class="menu-text"> Download </span></a>
        </li>
        <li>
            <a id="toggle-pane" href="#" class="icon-pencil"><span class="menu-text"> Add Class </span></a>
        </li>
        <!-- Example for active item:
        <li class="cbp-vicurrent"><a href="#" class="icon-pencil">Pencil</a></li>
        -->
    </ul>`

ここに私のjQueryがあります

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
    $( ".cbp-vimenu" ).click(function() {
        $( this ).toggleClass( "menu-min" );
    });
</script>
4

2 に答える 2

2

クリックイベントを#toggle-pane要素にのみ登録し、内部でcbp-vimenu要素を見つけてそのクラスを切り替えます

$("#toggle-pane").click(function () {
    $('.cbp-vimenu').toggleClass("menu-min");
    //or $(this).closest('.cbp-vimenu').toggleClass("menu-min");
    //I don't think you want to use closest since it doesn't look like you have many elements with class cbp-vimenu
});
于 2013-11-01T02:01:37.920 に答える
0
$("#toggle-pane").click(function () {
    $(this).closest('ul.cbp-vimenu').toggleClass("menu-min");
});

参考文献

.最も近い()

IDセレクター

于 2013-11-01T02:02:49.560 に答える