2013-03-06 94 views
0

老板告诉我,点击时添加一个自定义样式到<a>标签,我认为这将是一件容易的事情,但我意识到每当我点击openCart中的链接整个网站重载。 基本上这个类正在被添加到那个<a>标签,但在网站重新加载之后,它忘记了我的jQuery addClass()样式。 :(openCart自定义jQuery样式

Live demo

jQuery的片段:

/* foMenu -bklActive */ 
$('#menu ul li a').on('click', function(){ 
    $(this).parents().find("a").removeClass('bklActive'); 
    $(this).addClass('bklActive'); 
}); 
+1

尝试增加'返回false;'了'$之后(这个).addClass( 'blkActive') ;' – 2013-03-06 11:53:21

回答

0

您必须删除所有a -elements都给类在#menu而是采用了兄弟姐妹的方法:

$('ul li a').on('click', function() { 
    $("ul li a").removeClass('bklActive'); 
    $(this).addClass('bklActive'); 
}); 

http://fiddle.jshell.net/d9LqD/

更新

为了得到这个多一点的动态使用的jQuery.fn.parents - 方法:

$('ul li a').on('click', function() { 
    $(this).parents().find("a").removeClass('bklActive'); 
    $(this).addClass('bklActive'); 
}); 
+0

谢谢,编辑我的代码/ stackoverflow线程,但我的主要问题是,这stiling消失。 – tsm 2013-03-06 11:44:55

+0

@AttilaEgyed我认为你的问题在PHP上,它为你生成菜单结构......你必须通过PHP设置“bklActive”类...如果你在这里提供你的PHP代码,我会看到什么我可以为你做.. – yckart 2013-03-06 11:46:31

+0

@Jay Gilford是的,它的工作方式,但该网站不会加载(: – tsm 2013-03-06 12:07:23