单击项目时,菜单上的jQuery removeClass

时间:2011-11-09 01:13:30

标签: jquery hyperlink href removeclass

好的,所以我有这个功能,当点击一个联系人时,它会向用户添加一个类

 $(".contactlink").live("click",function(e){
            if(lastclicked == $(this).attr('href'))
            {
            return false;   
            }
            contactinfo = lastclicked.split('/');
            alert(lastclicked);

            lastclicked = $(this).attr('href');
            contactinfo = $(this).attr('href').split("/");
            $("#friend_"+contactinfo[2]).addClass('active');
            loadcontactinfo(contactinfo[2]);
            //alert( contactinfo[2] );
            return false;                                   
        }); 

一切正常,但函数的这一部分似乎不是将它自己保存到jquery。

contactinfo = lastclicked.split('/');
alert(lastclicked);

当我做最后一次点击时,它不会提醒我点击的href链接是最后一次。

2 个答案:

答案 0 :(得分:0)

您是否在函数之前将lastclicked定义为 var

答案 1 :(得分:0)

您应该确保在适当的范围内声明var的变量。尝试类似:

// declare lastclicked before created your click function
var lastclicked = '';
$(".contactlink").live("click",function(e){
    if(lastclicked == $(this).attr('href')) {
       return false;   
    }
    alert(lastclicked);
    // use var for local variables
    var contactinfo = $(this).attr('href').split("/");
    lastclicked = $(this).attr('href');

    $("#friend_"+contactinfo[2]).addClass('active');
    loadcontactinfo(contactinfo[2]);
    //alert( contactinfo[2] );
    return false;                                   
}); 

有关简化示例,请参阅this jsfiddle