2009-03-10 16 views
6

div가 동적으로 두 개의 이미지와 함께로드되고 div가 하나의 div로 구성됩니다. 이미지 나 div는 그들과 관련된 이드를 가지고 있지 않습니다 (그리고 나는 이드를 가질 수 없습니다). 방화 광구로 검사하면 <IMG><DIV>으로 표시됩니다. 이 자식 div가있을 때 높이를 가져와야합니다. 나는 이런 식으로 뭔가를 할 수있는 기대했다jquery를 사용하여 ID가없는 동적으로 생성 된 자식 요소의 높이를 얻는 방법

...

$("#parentDiv > DIV").height(); 

또는이 ...

$("#parentDiv > DIV")[0].height(); 

JQuery와 $ 배열을 반환한다. 두 번째 것은 자바 스크립트 오류를 ​​제공하므로 내가 거기 떨어져 있다는 것을 알 수 있습니다. 나는 이것들이 가까이 있어야한다고 생각한다. 어떤 아이디어?

편집 : 다음은 내가 실행중인 html입니다.

<DIV id="parentDiv" name="parentDiv"> 
    <IMG style="DISPLAY: block; VERTICAL-ALIGN: bottom; CURSOR: pointer" height="17" src="..." /> 

    <!-- this div may or may not be here --> 
    <DIV style="DISPLAY: block; BACKGROUND-IMAGE: url(...); WIDTH: 16px; CURSOR: pointer; BACKGROUND-REPEAT: repeat-y; POSITION: relative; HEIGHT: 144px; outline: none"> 
     <DIV style="LEFT: 0px; OVERFLOW: hidden; WIDTH: 16px; POSITION: absolute; TOP: 128px; HEIGHT: 8px"> 
      <IMG style="LEFT: 0px; POSITION: absolute; TOP: 0px" height="8" src="..." /> 
     </DIV> 
    </DIV> 

    <IMG style="DISPLAY: block; VERTICAL-ALIGN: bottom; CURSOR: pointer" height="17" src="..." /> 
</DIV> 
+0

더 명확 릴을 설명하세요? 가능한 한 DIV가 IMGS를 포함하거나 가능한 DIV가 IMG 사이에 있음을 의미합니다. 내부 DIV가 존재하지 않는다면 결과 높이에 ZERO를 원하나요? –

+0

div가 두 이미지 사이에 있고, 두 번째 이미지를 저 버리는 것을 잊어 버렸습니다. 편집 할 것입니다. div가 없으면 null이나 0이 모두 괜찮을 것입니다. 나는이 통찰력을 제공한다면 이런 방식으로 이미지의 높이를 얻을 수 없습니다. – Carter

답변

1

선택기가 괜찮은 한 처음 사용할 수 있습니다. 다음을 시도하고 당신이 무엇을 얻을 참조 :

$("#parentDiv > DIV").css("background", "pink"); 

당신이 기대 당신의 선택을 직접 해결하려면 분홍색 배경을하지 않으며, 그것뿐만 아니라 높이 문 도와 드리겠습니다합니다.

6

색인의 jQuery 요소를 얻으려면, eq() 함수를 사용

$("#parentDiv > DIV").eq(0).height(); 

또는

$($("#parentDiv > DIV")[0]).height(); 

또는

$("#parentDiv > DIV:eq(0)").height(); 
+0

감사합니다 $ ("# parentDiv> DIV") [0]). height(); 내가 얻은 가장 가까운 것입니다. 예기치 않은 결과가 나오지만 (664, 그렇게 크지 않아야합니다). 나는 그걸 가지고 놀아야 할 것이다. – Carter

+0

문제는 이미지의 절대 위치 지정을 사용하고 있고, 다른 것으로 설정하고 높이가 더 위생적인지 확인하는 것일 수 있습니다. – cobbal

+0

당신이 옳을 수도 있습니다. 그러나이 코드는 자동으로 생성됩니다. 그 주위에 코드를 둘러싼 div 코드를 움직일 수는 있지만, 내가 게시 한 코드를 변경할 수는 없습니다. – Carter

0

시도

$($("#parentDiv > div")[0]).height(); 
2

그냥 그 일의 모든 다른 방법으로 추가 할 수있는 트릭해야

:

$("#parentDiv > div:first").height();