0

私はjqueryが初めてです。Li をターゲットにするいくつかの方法を読みましたが、li 内の href をターゲットにして選択したメニューのクラスを変更する方法がわかりませんでした。コードは次のとおりです。

<ul class="cssmenu">
    <li class="home">
        <a href="#" class="selected" title="Home">
            <span class="displace">
            </span>
        </a>
    </li>
    <li class="blog">
        <a href="#" title="Blog">
            <span class="displace">
            </span>
        </a>
    </li>
    <li class="contact">
        <a href="#" title="Contact">
            <span class="displace">
            </span>
        </a>
    </li>
</ul>

そして、私が使用しているスクリプトは

$("ul").on("click", "li", function() 
{
    var $this = $(this);
    $this.addClass("selected")
        .prependTo($this.parent())
        .siblings().removeClass("selected");
});
4

1 に答える 1

2

クリック イベントをリスト アイテムにバインドするため、最初に find() を使用して、リスト アイテムのすべての子アンカーからクラスを削除してから、選択したクラスをリストの特定のアンカーの子 (またはアンカー) に追加する必要があります。 ) をクリックしました。

 $("ul").on("click", "li", function () {
     $(this).siblings().find('a').removeClass("selected");
     $('a',this).addClass("selected");
 });

jsFiddle の例

于 2013-04-02T14:53:51.550 に答える