jQuery,突出显示活动菜单项

Ver*_*ous 2 navigation jquery menu highlight sprite

我正在尝试为我的导航制作jQuery以突出显示活动菜单项(我的菜单是使用精灵btw制作的.)手动将class ="active"添加到其中一个菜单项,突出显示有效.但是使用我的jQuery代码,没有任何反应......

任何想法如何解决这个问题?

这是一个问题的演示小提琴.http://jsfiddle.net/wvEBw/1/

HTML:

<nav>
    <ul>
        <li><a href="#" id="btn1"></a></li>
        <li><a href="#" id="btn2" class="active"></a></li>
    </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

CSS :(动画精灵)

//...

/* sprite menu animations */

nav a#btn1 {
    background-position:0px 0px;
    width:82px;
}

nav a#btn1:hover {
    background-position:0px -82px;
}

nav a#btn1.active {
    background-position:0px -164px;
}

nav a#btn2 {
    background-position:-108px 0px;
    width:82px;
}

nav a#btn2:hover {
    background-position:-108px -82px;
}

nav a#btn2.active {
    background-position:-108px -164px;
    outline: none;
}
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$("nav li").click(function() {
    $("nav li a.active").removeClass("active"); //Remove any "active" class  
    $("a", this).addClass("active"); //Add "active" class to selected tab  

    $(activeTab).show(); //Fade in the active content  
    return false;
}
Run Code Online (Sandbox Code Playgroud)

Rok*_*jan 7

你忘了在你的小提琴中添加jQuery库
并正确关闭你的功能});

http://jsfiddle.net/wvEBw/3/

$("nav li").click(function ( e ) {
    e.preventDefault();
    $("nav li a.active").removeClass("active"); //Remove any "active" class  
    $("a", this).addClass("active"); //Add "active" class to selected tab  

    // $(activeTab).show(); //Fade in the active content  
});
Run Code Online (Sandbox Code Playgroud)

此文章可能也很有趣:停止滥用返回错误
这里快速浏览一下DOCS:event.preventDefault