2014-10-06 2 views
1

방문자가 즐겨 찾기를 목록에 추가 할 수있는 페이지가 있습니다. 반복되는 행을 사용하여 항목을 표시하므로 일반 클래스가 반복됩니다.jQuery를 사용하여 스팬 가장 가까운 스팬에서 클래스를 제거하려면 어떻게해야합니까?

모든 클래스가 같은 경우 어떻게 하나의 모달 창 (.closest 또는 .prev?)을 표시 할 수 있습니까? http://jsfiddle.net/psasj74L/

<span class="jsCrateMaxModal most-wanted-modal-container hide"> 
    <div class="most-wanted-modal"> 
     <div class="most-wanted-content"> 
      One. 
      <div class="col-xs-12"> 
       <div class="btn-primary btn-block">OK</div> 
      </div> 
     </div> 
    </div> 
</span> 
<button class="jsShowMaxModal mostWantedOff">Show Modal</button> 

jQuery를 :

$('.jsShowMaxModal').click(function() { 
    $(".jsCrateMaxModal").closest("span").removeClass("hide"); 
}); 

$('.most-wanted-modal-container').click(function() { 
    $('.jsCrateMaxModal').addClass("hide"); 
}); 

답변

2

당신은 버튼을 이전 모달을 찾기 위해이 경우 .prev()을 사용할 수 있습니다

여기 내 바이올린입니다.

$('.jsShowMaxModal').click(function() { 
    $(this).prev(".jsCrateMaxModal").closest("span").removeClass("hide"); 
}); 

근무 예 : http://jsfiddle.net/psasj74L/2/

그러나이 조금 색다른, 그리고 내가 어떤 논리적 그룹을 제공하는 사업부의 범위와 버튼을 배치 추천 할 것입니다. 이것이 가능하지 않으면 데이터 속성을 사용하여 버튼이 열어야하는 모달을 지정하는 것입니다.

+0

완벽한, 감사합니다. –

관련 문제