2012-04-15 64 views
0

內容我有一個包含多個元素的div:獲取DIV的高度和其與jQuery

<div class="menuItem designMenu" id="dMenu"> 
    <ul class="menuList menu"> 
    <li class="menuHeader">Design</li> 
    <li class="projectHeader">Mother</li> 
    <li class="projectBody">Some text here</li> 
    <li class="more">More</li> 
    </ul> 
</div> 

我需要得到dMenu項目的高度,我可以向上設置動畫,包括裏面的所有內容。我的Javascript當前:

var designHeight = $("#dMenu").height(); 

什麼都不返回。

我試過offsetHeightscrollHeight,以及其他所有谷歌出現。我在文檔就緒函數內部正文後面運行jQuery。

將高度變爲動畫而不是手動操作的原因是a:我想了解如何和b:我還不知道div中有多少物品。

+0

http://jsfiddle.net/EDTPw/ – Shyju 2012-04-15 17:28:16

+0

它確實有一個高度,你設置了一個高度嗎?嘗試設置背景顏色或溢出爲隱藏狀態,並查看您試圖獲取高度的元素是否具有高度,或者是否只是其他元素溢出。 – adeneo 2012-04-15 17:30:41

+0

你已發佈的作品或*應該*工作,除非有一些你沒有提到的特別考慮(例如'display:none',或其他);你有沒有檢查錯字或語法錯誤? – 2012-04-15 17:30:43

回答

0

是否li s在ul內浮動?如果是這樣,並且家長沒有overflow: hidden家長倒塌並因此沒有身高。嘗試(如果可能)將overflow: hidden添加到父元素,或者在CSS中硬編碼高度。

0

我使用scrollHeight得到我想要的。我也很尷尬地注意到,因爲我在加載JQuery之前正在加載我的JS。我感到羞愧,我沒有發現。