2014-12-15 3 views
0

부모 sibbling을 선택하고 싶습니다. 그러나 Jquery는 오류가 없어도 제대로 작동하지 않습니다.Jquery select 부모 parent 형제

클릭 클래스 BLC4 디스플레이 모달 (클래스 boxmo).

HTML :

<div id="bodypro"> 
<div class="product pro"> 

    <img class="product-img pro" src="imagessc/fxynxo1413781254438.jpg"> 

    <div class="product-actions pro"> 
    <div class="nav titlen pro" style="margin-top: 0%;">RAJFOO Gaming Mouse Button</div> 
    <div class="nav pro boxp" style="margin-left: 0px;"> 
     <ul> 
     <li class="blc4 data-toggle= active" data-original-title="Product Page" title="" data-placement="left" tooltip"=""> 
     </ul> 
    </div> 
    </div> 
</div> 

     <div class="boxmo"> 
     <div style="display: none;" aria-hidden="true" aria-labelledby="myModalLabel" role="dialog" tabindex="-1" class="modal productmodal"> 
      <div class="modal-dialog"> 
      <div class="modal-content"> 
      <div class="modal-header"> 
      <button aria-hidden="true" data-dismiss="modal" class="close" type="button"><i class="text-danger fa icon-remove"></i></button> 
      <h4 id="myModalLabel" class="modal-title"><i class="text-muted fa fa-shopping-cart"></i>RAJFOO Custom</h4> 
      </div> 
      <div class="modal-body"> 
       <div class="modal-footer"> 
       <div class="text-left pull-left col-md-6">      
       </div> 
       </div> 
      </div> 
     </div> 
</div> 

JQUERY :

$j('.blc4').on('click', function(event) { 
    $j(this).parent().parent().siblings('.boxmo').find('.productmodal').modal('show'); 
)} 

작동하지 않습니다.

당신은, 당신은 다른 parent 전화를 한 단계 떨어져을 필요로하는
$j(this).parents('#bodypro').find('.productmodal.modal').modal('show'); 
+0

'$ j'가 jQuery의 별칭인가요? 이 코드의 컨텍스트는 무엇입니까? '$ j (this)'는 당신이 그것을 실행하는 범위에 의존 할 것이다. 컨텍스트를 모르는 경우 코드의 문제점을 어떻게 알 수 있습니까? –

+3

_ "내 Jquery는 오류가 없어도 제대로 작동하지 않습니다."_ 분명히 오류가 있습니다. 그렇지 않으면 작동합니다. – nnnnnn

+0

위대한 의견, 기여 덕분에 – user3710844

답변

1

그 작동하려면 : 나는 당신이 같은 일을해야

+0

감사합니다. 첫 번째 작업 중입니다! 두 번째는 아닙니다. 내가 얻지 못하는 것은 다음과 같습니다. 3x parent() 대신 parent를 사용하는 것이 어떻습니까? – user3710844

+1

방대한 HTML에서 정확한 div를 찾았습니다. + 1 –

+0

@ user3710844 : 레벨을 잘못 계산했습니다. 이제 두 번째가 작동합니다. 그 레벨에는 ID가 있기 때문에 페이지에서 고유 할 때 클릭 한 요소에서 찾아야한다는 것이 무의미한 것처럼 보입니다. 왜 첫 번째가 작동하는지 모르겠지만 올바른 수준에 도달하기 위해서는 실제로 부모가 한 번 더 전화해야합니다. 아마도 게시 한 코드가 올바르지 않습니까? 끝에는 누락 된 닫는 태그의 세 가지 수준이 있습니다. – Guffa

1

이 클래스 mobox와 sibbling 클래스 클릭 blc4 부모에 선택합니다

$j(this).parent().parent().parent().siblings('.boxmo').find('.productmodal').modal('show'); 

그것은 다음 오른쪽 아이를 찾을 수 선택기를 사용하여 부모를보다 쉽게 ​​찾을 수 있으며 정확한 레이아웃에 덜 의존적이다 :

$j(this).closest('#bodypro').find('.boxmo .productmodal').modal('show'); 
+0

불행히도 작동하지 않습니다. 전에도 이런 식으로 생각하고있었습니다. – user3710844