单击菜单栏中的链接jQuery后检查上一个活动链接

时间:2016-08-02 12:46:53

标签: javascript jquery

我想在链接中添加类,如果以前的链接是主页链接我正在努力但我没有得到它的答案。 它是简单的导航栏,如果活动链接主页然后点击链接将添加一个类..它

$('ul li').click(function(){
    var prevLink = ??; // how can i get prevLink here
    if(prevLink == 'Home') {
        $(this).addClass("addext");
        $('ul li').removeClass("addext");
    }
});

如何查看以前的有效链接?

3 个答案:

答案 0 :(得分:1)

不是完整的答案,因为你缺少html,但你应该切换这两行:

$(this).addClass("addext");
$('ul li').removeClass("addext");

要:

$('ul li').removeClass("addext");
$(this).addClass("addext");

否则你设置,并立即删除该类。

答案 1 :(得分:1)

希望这会有所帮助:

var globalPrevLink = "";

$('#Home').onclick(function(){
    globalPrevLink = window.location.href; // this is clicked last time so remember it in globalPrevLink variable
});

将上面的代码放在js中的某个位置,然后将Home更改为您为主链接标记提供的任何ID。

然后将您的代码更改为

$('ul li').click(function(){
    var prevLink = globalPrevLink; // globalPrevLink is assigned here
    if(prevLink == 'Home') { // change this also as accordingly, use console log
        $('ul li').removeClass("addext"); // switch as suggested in other comment
        $(this).addClass("addext");
    }
});

答案 2 :(得分:0)

使用$('ul li.addext').text();获取具有最新类

的li文本
$('ul li').click(function(){
        var prevLink = $('ul li.addext').text();
        if(prevLink == 'Home') {

             $('ul li').removeClass("addext");
            $(this).addClass("addext");

        }
    });