2009-12-03 4 views
1

내가해야 할 일은 현재와 같은 유형이 아닌 다음 요소를 가져 오는 것입니다. 그게 말이되는지 확실하지 않습니다. 내가 아는 한, jQuery의 next()는 다음 형제 만 가져옵니다.jQuery를 사용하여 형제가 아닌 다음 첫 번째 요소에 대한 작업

<tr> 
    <td> 
     <a>Link</a> 
    </td> 
</tr> 
<tr> 
    <td> 
     <div class="A"> 
     <div class="B">...</div> 
     <div class="B">...</div> 
     <div class="B">...</div> 
     </div> 
    </td> 
</tr> 
<tr> 
    <td> 
     <a>Link</a> 
    </td> 
</tr> 
<tr> 
    <td> 
     <div class="A"> 
     <div class="B">...</div> 
     <div class="B">...</div> 
     <div class="B">...</div> 
     </div> 
    </td> 
</tr> 

링크를 클릭 한 후, 나는 div.A. 내 div.B 년대에 뭔가를하고 싶습니다 :

내가 가진 무엇 하지만 첫 번째 div 만 링크 직후. 나머지 페이지에는 링크가 없습니다. 좀 더 구체적으로 말하자면, 링크를 클릭하면 div.B가 표시되거나 숨겨 지도록 설정하는 것입니다.

이것이 가능합니까 아니면 실현 가능합니까? 이것이 테이블에있는 것이 문제일까요?

저는 jQuery 전문가가 아니므로 지금 당장은 그저 주변을 망칠뿐입니다.

답변

8

이렇게하면됩니다. 다음 div에서 div.B를 숨길 것입니다. 태그 다음에 오는 것입니다.

$('a').click(function(){ 
    $(this).closest('tr').next().find('.A div.B').hide(); 
}); 
+0

이렇게했습니다. 나는 find()를 사용하지 않을 것이라고 생각했다. 감사! – Michael

+0

하하, 오늘 마지막 +1을주었습니다. 그것을 작성하는 더 좋은 방법이 있다고 생각하지 마십시오! –

관련 문제