2012-06-26 4 views
1

에서 같은 div의 찾기 :나는 DOM 트리가 DOM 트리

<div id="all"> 
    <div id="second"> 
    <div id="target"></div> * 
    <div id="somediv"></div> 
    </div> 
    <div id="second"> 
    <div id="target"></div> 
    <div id="somediv"></div> 
    </div> 
    <div id="second"> 
    <div id="target"></div> 
    <div id="somediv"></div> 
    </div> 
</div> 

내가 ID = "대상"모든 div를 얻을 수있는 방법을?

$('#second').siblings().andSelf().children(':first') - 첫 번째 대상 (*) 만 표시하고 나머지는 무시합니다.

+6

HTML은 유효하지 않은 ID가 고유해야하고, ':)' –

답변

5

HTML 문서에서 동일한 ID를 가진 div를 여러 개 가질 수 없습니다. 대신 class = "target"을 사용하십시오. 그런 다음 당신은 .. HTML에서 ID를 반복 class="target" 다음과 id="target"을 대체 할 수

$("#all .target") 
+0

고마워, 벤! –

1

는 다음과 같은 시도 : id를 선택되게되면

$('div[id=second]').siblings().andSelf().children(':first') 

, jQuery를은 해당 ID로 첫 번째 요소를 반환합니다. 동일한 ID를 가진 요소가 이고 HTML이 잘못 되었기 때문입니다. HTML 파서는 일반적으로 융통성이 있으며 대부분의 브라우저에서 잘 표시되지만이 경우는 보장되지 않습니다. data- 속성 또는 CSS 클래스 또는 ID가 아닌 유사 태그를 사용하도록 마크 업을 변경하십시오.

+0

자세한 답변을 주셔서 감사합니다; 앞으로 조심하겠습니다! –

1

과 함께 모두 클래스 대상 모든 div의를 얻을 수 있습니다 -

$('#all').find('.target');