2016-10-08 11 views
0

아래 코드가 작동합니다. .hero-build-wrap이 이미 클래스를 영웅 빌드에 추가 한 경우이를 추가하려고합니다. 다시 클릭하면 제거됩니다. 내가 .toggleclass 대신 .addClass의 그러나 didnt 한 일에 노력Jquery addClass 같은 클래스를 클릭하면 removeClass

$(function() { 
    $(".hero-build-wrap").click(function() { 
    $(".hero-build").removeClass("hero-selected"); 
    $(this).children(".hero-build").addClass("hero-selected"); 
    }); 
}); 

html로 :

<div class="hero-build-wrap"> 
    <a class="hero-mini hero-mini-assa"> 
    <img class="hero-hover-big" src=""> 
    <img class="hero-hover-small"src="> 
    </a> 
    <div class="hero-build hero-selected"> 
     <a href=""> 
     <p>This is a test</p> 
     </a> 
     <a href=""> 
     <p>Anothertest</p> 
     </a> 
    </div> 
</div> 

답변

2

클래스를 추가하는 줄을 제거

당신이 클래스를 추가하는 경우

$(function() { 
    $(".hero-build-wrap").click(function() {  
    $(this).children(".hero-build").toggleClass("hero-selected"); 
    }); 
}); 
, 그 클래스를 toogle, 최종 결과는 그것을 추가 취소 것입니다

$(function() { 
    $(".hero-build-wrap").click(function() { 
    var $children = $(this).children(".hero-build").toggleClass("hero-selected"); 
    $('.hero-selected').not($children).removeClass("hero-selected"); 
    }); 
}); 
+0

당신이 내 업데이 트를 봤어

: 당신이 뭔가를 할 수 있도록하는 경우 3,516,말했다되고 그건

, 당신은 또한 아주 이상한 전화 $().children 때문에 다른 클래스를 제거

이다 시도 할 수있다? – charlietfl

+0

고마워요! – Karuw

+0

항상 기본 html 구조와 함께 예상되는 동작을 제공하려고 노력했습니다. 다른 요소가 관련되어 있다고 가정해야만했습니다 ... 정확하게 추측 된 것 같습니다. – charlietfl