2009-03-10 10 views
6

ile birlikte nasıl kullanabilirim Dinamik olarak iki görüntü ile her zaman yüklü olan ve muhtemelen arasında bir boşluk olan bir div var. Görüntüler veya div, kimlikleriyle ilişkili değildir (ve bunları Id’lere sahip yapamıyorum). Bunları firebug ile teftiş ettikten sonra sadece <IMG> ve <DIV> olarak gösterilir. Varsa, bu çocuğun div yüksekliğini almam gerek. Ben böyle bir şey yapabileceğini umuyordumDinamik olarak oluşturulmuş bir alt öğenin yüksekliğini almak için jquery'yi Kimlik No

...

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

veya bu ...

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

jquery $ dizisi döndürür beri. İkincisi javascript hataları veriyor, ben de orada olduğumu biliyorum. Bence bunlar yakın olmalı. Herhangi bir fikir?

Düzenleme: İşte karşı çalıştığım 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

daha net bir lil açıklayınız? Muhtemelen DIV'ler arasında olası bir DIV var mı, yoksa olası DIV IMG'ler arasında mıdır? İç DIV mevcut değilse, elde edilen yükseklik için SIFIR ister misiniz? –

+0

div iki görüntü arasında, ben ikinci resmi oraya koymayı unutmuşum, onu düzenleyeceğim. Eğer div orada değilse, null ya da 0 her ikisi de iyi olurdu. Görüntülerin yüksekliğini bu şekilde ya da herhangi bir fikir vermezse alamıyorum. – Carter

cevap

1

Seçiciniz doğru olmadığı sürece ilk işiniz çalışacaktır. aşağıdakileri deneyin ve ne elde bakın:

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

Eğer, beklemek sizin seçici tamir edeceklerini pembe bir arka plan alamadım, ve de boy-deyimi ile çalışmak bulunulur.

6

bir dizine jQuery elemanı almak için, eq() işlevini kullanın:

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

veya

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

veya

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

Teşekkürler $ ($ ("# parentDiv> DIV") [0]) yükseklik(); Aldığım en yakın şey hakkında. Beklenmeyen bir sonuç getiriyor olsa da (664, o kadar büyük olmamalı). Onunla oynamak zorundayım. – Carter

+0

sorunu da görüntü için mutlak konumlandırma kullanmak, başka bir şeye ayarlamayı deneyin ve yüksekliğin iyi olduğunu düşünebiliriz – cobbal

+0

Sanırım haklı olabilirsiniz. Ancak, bu kod otomatik olarak oluşturulur. Orada kodu değiştiren div çevresini hareket ettirebilirim, ancak değiştirdiğim kodlardan hiçbirini değiştiremem. – Carter

0

deneyin

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

Sadece bunu yapmanın diğer yollar eklemek için hile yapmak gerekir

:

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