2013-02-16 3 views
0

jQuery 탭을 사용하는 페이지가 있습니다. 각 탭에는 다른 것들 외에 동적으로 생성되는 하나 이상의 jQuery 아코디언이 포함되어 있습니다. 예 : 다른 사람이 (어떤이있는 경우) 붕괴하는 동안jQuery는 각 탭에서 첫 번째 아코디언을 선택합니다.

<div id="tab1" class="tab"> 
    <div> 
     Some stuff 
    </div> 
    <div class="accordion"> 
     I am an accordion 
    </div> 
</div> 
<div id="tab2" class="tab"> 
    <div class="accordion"> 
     I am also an accordion 
    </div> 
    More stuff 
    <div class="accordion"> 
     I am also an accordion 
    </div> 
</div> 

나는 각 탭의 첫 번째 아코디언이 열린 상태를 유지하고 싶습니다. 나는 시도했다 :

$('.tab .accordion:first') 

페이지의 첫 번째 아코디언 만 선택한다. 나는 또한 시도 :

$('.tab .accordion:first-child') 

이 TAB2에서 처음 아코디언을 선택하지만 위의 몇 가지 물건이 있기 때문에 그것은 TAB1에서 하나를 선택하지 않습니다. 나는 또한 시도했다 :

$('.tab > .accordion').filter(':first-child') 
$('.tab').children('.accordion:first-child') 

내가 생각할 수있는 선택기의 모든 조합과 함께. 이 시점에서 내 두뇌가 튀겨졌습니다. 당신이 중복 질문에 저를 지적하기 전에,이 중 어느 것도 정확히 같은 질문을하지 않습니다 :

JQuery Tab each Selected tab first text box focus

jquery select first child with class of a parent with class

jQuery selector for each first element on every parent

jQuery Selecting the first child with a specific attribute

내 경우의 차이가 나는 것입니다 이 탭에 표시되는 콘텐츠에 대한 제어 권한이 거의 없습니다.

+0

어떻게 약 $ ('탭을 선택합니다.') 각 (함수() {var에 firstAcc = $ (이) .find ('아코디언.') EQ (0);.. })? – gaurav

+1

쓰레기 ... 내가 물어 보는대로 대답을 찾았습니다. '$ ('. 아코디언 : 첫 번째 유형')'그건 공짜입니다. –

+1

사실,': first-of-type'은 아코디언 클래스의 첫 번째 요소가 아니라 첫 번째 div 요소와 일치하기 때문에 위에 제공된 예제에서 작동하지 않습니다. 아래의 David Thomas의 대답을보십시오. –

답변

1

나는 좋을 것 :

$('.tab').find('.accordion:first'); 

JS Fiddle proof-of-concept합니다.

+0

훌륭한 작품입니다. 나는 이것을 사용할 것이지만 나는': first-of-type'의 우아함을 조금 더 좋아한다. :) –

+0

당신은 자신의 질문에 대답 할 수 있다는 것을 알지? 다른 답변을 사용하거나 다른 답변이 귀하의 필요에 더 잘 맞는 것을 찾으려면 다른 사람이 올린 답변을 수락 할 필요없이 자신의 질문에 답하고 그 대답을 수락하십시오! (비록 인정하지만, 받아들이려면 2 일을 기다려야 만하지만 ...) –

+0

그래도 그건 낭비 일거야. 누군가 그것을 위해 담당자를 얻을 수도 있습니다. 꼭 필요하지는 않습니다.) –

0

이 시도 :

$('.accordion:first', '.tab') 
+0

첫 번째 아코디언과 각 탭을 선택합니다. –

+0

'.accordion : first' 엘리먼트의'.tab' (컨텍스트) 안에서 볼 수있는 방법으로 작성하면 안됩니다. 이 접근법은 유효하지만 내부적으로 내 자신의 대답에서 구문을 사용하기 위해 전환합니다. –