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 回答