导航链接点击jQuery时切换活动类

时间:2015-04-11 07:56:51

标签: javascript jquery css twitter-bootstrap

我正在尝试将jQuery添加到网站,因此当点击导航菜单中下一页的链接时,"活动" class被切换到" active"或当前页面。 "活跃" class也初始设置为主页。另外,它是一个使用Bootstrap的网站,所以我想知道是否有什么东西与我的jQuery冲突。看起来很简单,我的代码有点工作。它从主页中删除活动类,并在下一个选项卡上短暂闪烁,但它不会保持活动状态。"这是jQuery:

$(".nav li").click(function() {
    $('li').removeClass('active');
    $(this).addClass("active");

});

对我可能做错了什么的任何想法?提前谢谢。

安德鲁

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,并编写了以下脚本:

var _urlpath = $(location).attr('pathname').split('/').pop();

    $('#menu > li').each(function(){
        var _this = $(this);
        var _str = _this.find('a').attr('href');
        _str !== _urlpath ? _this.removeClass('active') : _this.addClass('active');
    });

它相当简单,过滤url路径名,将其存储在变量中,然后最重要的是,当加载新页面时,遍历所有li并尝试匹配url hash(我不知道确切的术语...对不起),在li中的哈希>一个。

希望这有帮助。唉,可能有更好的方法来做到这一点。