2013-03-06 138 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