2013-03-06 2 views
0

클릭했을 때 <a> 태그에 사용자 정의 스타일을 추가하라는 상사의 말에 따르면, 이것은 쉬운 일이 될 것이라고 생각했지만, 전체 사이트를 openCart에서 링크를 클릭 할 때마다 깨달았습니다. 다시로드합니다. 기본적으로 클래스는 해당 <a> 태그에 추가되지만 사이트 재로드 직후에는 jquery addClass() 스타일을 잊었습니다. :(openCart 커스텀 jQuery 스타일링

Live demo

jQuery를 조각 :

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

:

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

시도 false를 반환'추가;'은'$ 후 (이) .addClass ('blkActive') ; ' –

답변

0

당신은 형제의 방법을 사용하는 대신 #menu의 모든 a -elements의 모든 주어진 클래스를 제거해야 http://fiddle.jshell.net/d9LqD/

업데이트

이 좀 더 동적으로의 jQuery.fn.parents -method을 사용하여 효율적으로 활용하려면 다음

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

고마워, 내 코드/stackoverflow 스레드 편집,하지만 내 주요 문제는이 stiling 사라집니다. – tsm

+0

@AttilaEgyed 당신의 문제는 당신을위한 메뉴 구조를 생성하는 PHP에 있다고 생각합니다 ... PHP를 통해'bklActive'-class를 설정해야합니다 ... 만약 당신이 PHP 코드를 제공한다면 나는 당신을 위해 할 수있다. .. – yckart

+0

@Jay Gilford 그래, 그 방법으로 작동하지만, 그때 사이트 실 거예요 (: – tsm