javascript - CSS-sprite 菜单和 jQuery addClass() 方法

标签 javascript jquery html css

我根据本教程创建了 CSS Sprite 菜单: http://buildinternet.com/2010/01/how-to-make-a-css-sprite-powered-menu/ 现在我想将 .selected 类分配给最后一次单击的“a”。我添加了简单的脚本:

<script>
    $("a").click(function(){
        $(this).addClass("selected");
    });
</script>

但是 .selected 类只在加载页面时出现。加载整个页面后,菜单项返回其正常状态。你能帮我解决这个问题吗?时间差

祝你有美好的一天:)

最佳答案

单击 a 会将您带到不同的页面,因此此事件对您不起作用。要将 selected 类添加到当前链接,您必须编写如下代码:

<script>
 $(function(){ //short form of $(document).ready(function(){
    $("a").each(function(){

       path=window.location;
       path=String(path).split('/')['3']; //if you use absolute URLs then disable this line

       if($(this).attr('href')==path)
       {
          $(this).addClass("selected");
       }
    });
 });
</script>

如果 href 与浏览器的当前 URL 匹配,它将添加类 selected 到链接。

关于javascript - CSS-sprite 菜单和 jQuery addClass() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588430/

相关文章:

javascript - 给定某些节点的所有可能路线,返回起始节点

javascript - 在 Qwik 中动态分配类别

javascript - 使 id 链接可见 - 防止单击 anchor 时的默认事件。

javascript - 每次都可以分离内容、表示和行为吗?

html - 可滚动侧边栏不显示移动设备上的所有内容

html - 如何使文本变粗并使用 css 填充颜色,并在悬停时更改颜色

javascript - localstorage setItem() 在某些情况下不起作用

javascript - 玩框架模板 onchange 可能吗?

php - 通过ajax返回的javascript代码,但不显示

javascript - 选择拼写检查语言