2013-03-06 2 views
0

Мне было сказано, что босс добавил пользовательский стиль к тегу <a>, когда его щелкнули, я подумал, что это будет простой материал, но я понял, когда я нажимаю ссылку в openCart на весь сайт перезагружается. В основном класс добавляется к тегу <a>, но сразу после перезагрузки сайта, и он забывает мой стиль jquery addClass(). :(openCart custom jQuery styling

Live demo

JQuery сниппет:

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

Попробуйте добавить 'вернуть ложь,' после '$ (это) .addClass ('blkActive') ; ' –

ответ

0

Вы должны удалить все данные классы по всем a -элементов в вашем #menu вместо использования метода братьев и сестер:

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

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

Update

Чтобы получить это немного более динамично использовать jQuery.fn.parents -метод, что:

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

спасибо, отредактировал поток моего кода/stackoverflow, но моя главная проблема заключается в том, что этот стилинг исчезает. – tsm

+0

@AttilaEgyed Я думаю, ваша проблема сидит на PHP, который генерирует вам структуру меню ... Вы должны установить класс 'bklActive' через PHP ... Если вы предоставите свой PHP-код здесь, я посмотрю, что Я могу сделать для вас .. – yckart

+0

@Jay Gilford да, это работает на этом пути, но тогда сайт не загрузится (: – tsm