2013-03-01 4 views
1

어떻게이 jquery 선택기를 단순화 할 수 있습니까? $ (this) .parent(). parent(). next(). children(). children(). slideDown ('normal');부모 부모 자식 자식 자식 선택자?

작동하지만 개선 방법을 배우고 싶습니다. 감사합니다. :)

업데이트 : 다음은 코드 샘플입니다.

<tr> 
    <td><div class="LinkHeader accordionButton">TRAINING VIDEOS<span class="right"></span></div></td> 
    </tr> 
    <tr> 
    <!-- Content of Training Videos --> 
    <td align="left" valign="top"> 
    <div class="accordionContent"> (I want to select this div) 
     <div id="yunero"></div> 
    </div> 
    </td> 
    </tr> 

답변

0

마크 업에 의하면, 쓰기 짧은 (틀림없이 명확를) 될 것이다 : 여기

$(this).closest("tr").next().find(".accordionContent").slideDown(); 

, closest()는, next()을 조상 체인을 걸어 발견 한 최초의 <tr> 요소를 일치합니다 바로 옆에있는 형제와 일치 할 것이며 class selector으로 마지막으로 find()을 입력하면 관심있는 <div> 요소가 반환됩니다.

전달할 때 s 엄밀히 말하면 애니메이션의 재생 시간은 "normal"입니다. 지원되는 문자열은 "fast" (200ms) 및 "slow" (600ms)이며 다른 모든 문자열은 인수를 모두 생략 한 것처럼 400ms로 해석됩니다. 예를 들어 slideDown("superFast")은 정확히 slideDown("normal") 또는 일반 slideDown()과 동일하게 동작합니다.