2012-12-31 119 views
3

我處於這種情況,我必須設置div的高度取決於它的內容量,我不能給它min-height。我知道我們可以通過計算DIV的高度:如何計算jQuery中div的高度?

 
$("#divid").height(); 

那麼,有沒有辦法,我們可以計算出一個div的高度,而不必在它的高度參數和該div給予高度取決於它的內容量。

我希望我解釋清楚。

感謝

+1

你是什麼意思「沒有高度參數」? – Joseph

+0

我的意思是

。如果我沒有這個高度參數,那麼我該如何計算這個div的高度? –

+1

@RavinderSingh這應該只是通過使用'.height()'。它沒有屬性就可以很好的計算。此外,divs會自動適應他們的內容,所以你在做什麼打破了這種行爲? – loganfsmyth

回答

1

就像你所說的那樣,使用.height()時,不需要爲要使用的實際高度定義。這裏是一個jsfiddle展示它的行動:http://jsfiddle.net/nWb5j/

6

你的措辭有點混亂,但我認爲你是問如何計算一個div裏面的內容的大小,即使在div有應用於不同的高度。爲此,您可以使用元素的scrollHeight

$('#divid')[0].scrollHeight 

如果你只是想知道如何計算,即使它有高度沒有屬性/風格元素的高度,你可以使用你寫的什麼的問題。 .height()直接從瀏覽器呈現的值計算元素的高度,而不是直接從屬性中計算元素的高度。

+0

+1,節拍我由3秒=) – jeremy

+0

@尼爾:D如此接近。 – loganfsmyth

1

有兩種方法做:

$("#parent").height($("#child").outerHeight(true)); 
//-----------------------------^^^^^^^^^^^--^^^^-----outerHeight(true) will give 
//---------------------------------------------------you the total height 
//---------------------------------------------------including top bottom margins 

更多信息.outerHeight:http://api.jquery.com/outerHeight/

,如果你的HTML是:

<div style="height:450px;"></div> 

那麼你可以使用它來獲取身高:

$("#parent").css('height'); // this will give you the 450px