2014-04-12 1 views
-1

부모 div "myDiv"에서 하위 div의 전체 높이를 가져 오려고합니다.일부 div가 누락 된 어린이를 통해 뛰어 다니는 이유는 무엇입니까?

<div style="height: 102px; display: block;" id="myDiv"> 
<div style="position: relative;" id="sf_0" class="reqCont ui-draggable" ondragstart="drag(event)"> 
    <div class="reqMsgCont"> 
     <div class="reqMsg"></div> 
    </div> 
    <div class="btnCont"> 
     <div class="expFold" id="i_0"></div> 
    </div> 
    <div id="e_0" class="exCont"> 
     <div id="d_0" class="exDel"></div> 
     <div id="m_0" class="exMN"></div> 
    </div> 
</div> 
<div id="p_0" class="expSngs"></div> 
</div> 

내가 사용 : 다음은 구조의 총 재미 나오는, 그래서 내가 ID를 표시하는 경고를 설정하고 표시되는 유일한 식별자가 sf_0 있습니다

var totalHeight =0; 
$("#myDiv").children().each(function(){ 

     //totalHeight += $(this).outerHeight(true); 
    alert(this.id); 

}); 

및 p_0. 왜 나머지가 누락 되었습니까?

I I 동적 된 div를 만드는거야 때문에있을 수 있습니다,하지만 같은 시간에 그들을 만든 다음 불구하고 :

$("#myDiv").append(rO); 

을 그리고 그 후 각 루프 위를 실행합니다.

감사합니다. 당신이 그들 모두가 확인해야 할 경우

답변

1

아이들은 당신에게 깊은 div의 1 수준을 줄 것이다 find() 방법을 사용하는 것이 좋습니다, 당신에게 유일한 직계 자식 노드를 줄 것이다 :

var totalHeight =0; 
$("#myDiv").find("div").each(function(){ 

     //totalHeight += $(this).outerHeight(true); 
    alert(this.id); 

}); 
+0

Ahh - Thank you Matt! – Shaun

+0

나는 그것이 작동하고 있다고 생각했다. 그러나 그것은 아직도 높이를 집어 들고 있지 않다. 나는 높이에 대한 CSS에서 설정되는 주요 div에있는 div : 100px,하지만 그것을 경고하는 것은 0px로 그것을 보여줍니다. 나는 그것이 당신의 코드라고 생각하지 않는다. - 하드 코딩 ("HEIGHT :"+ $ ("# i_0"). height()); $ ("# myDiv") 뒤에 .append (rO); 화면에 100px이지만 0으로 표시합니다. – Shaun

+0

css를 사용하여 높이를 지정한 경우 parseInt ($ (this) .css ("height"))를 사용하여 액세스 할 수 있습니다. –

2

children()

대신

에 변경/I가

+0

건배 tinybyte – Shaun

관련 문제