2010-12-27 5 views
2


다음 HTML이 있습니다.첫 번째 레벨에 대한 jQuery 각 div

<div id="id"> 
    <div> 
     <div class="permissions"> 
     </div> 
    </div> 
</div> 

그리고 jQuery에서는 루프를 사용합니다.

$("#id div").each(function(){ 
    //do something 
}); 

이 루프는 #id의 모든 div에서 실행됩니다. 어떻게 첫 번째 레벨의 div들만 같은 루프를 만드나요?
미리 감사드립니다. 내 영어로 미안해.

+0

그래도 난 아무것도에게 "ID"의 ID를주지 못할 것이다 :

그것은 .children() 대신 .find()를 사용하는 것과 동일합니다. (이것이 단순한 예가 아닌 경우) – zsalzbank

+0

예. 단지 예일뿐입니다) – pltvs

답변

9

#iddiv 사이에 공백이 있으면 a descendant selector입니다.

대신 a > child selector을 사용하십시오.

$("#id > div").each(function(){ 
    //do something 
}); 

지금은 #id의 직계 (자식)이다 <div> 요소를 대상으로한다.

// only direct descendant divs 
$("#id").children("div").each(function() { 
    //do something 
}); 


    // all descendant divs 
$("#id").find("div").each(function() { 
    //do something 
}); 
+1

아주 좋은 답변입니다! – pltvs

관련 문제