单击项时菜单上的jQuery removeClass
好的,我有一个函数,当点击一个联系人时,它会向用户添加一个类单击项时菜单上的jQuery removeClass,jquery,hyperlink,href,removeclass,Jquery,Hyperlink,Href,Removeclass,好的,我有一个函数,当点击一个联系人时,它会向用户添加一个类 $(".contactlink").live("click",function(e){ if(lastclicked == $(this).attr('href')) { return false; } contactinfo = lastclicked.split('/'); ale
$(".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);
因为当我执行lastclicked时,它不会提醒我上次单击的href链接是什么。您是否在函数之前将lastclicked定义为变量?您应该确保在正确的范围内使用变量声明变量。尝试以下方法:
// 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;
});
有关简化示例,请参见向用户添加类并将其自身保存到jquery意味着什么?lastclicked将在中第一次被取消定义。您从未实际使用此语句中指定的值:contactinfo=lastclicked.split'/';-几行之后,您分配contactinfo=$this.attr'href.split/;你实际使用的就是这个值。