2011-09-06 70 views
3

目前我正在設置絕對高度值。但有時由於動態頁面的原因,我必須設置比所需更高的內容。是否有可能獲得div所需的最小高度?我的意思是高度值,它將顯示所有的元素,如高度自動,但不會留下空的空間。 我無法設置高度自動,因爲它會導致太多的混亂。我嘗試失敗了。jquery計算div的最小所需高度值

因此,jquery將讀取div並計算顯示所有元素所需的最小高度值。這可能嗎 ?

謝謝。

+2

如果你需要你的身高是動態的,那麼根本不會設置絕對高度並讓它自然變大? – Clive

+0

以及我試過,但它失敗了:D我現在搞亂了幾個小時,但無法實現它。 – MonsterMMORPG

回答

4

正如克萊夫所說,通常沒有理由這樣做。但是,如果你需要得到所有內部元素的高度,你可以使用這樣的事情:

var height = 0; 
$.each($("your_div").children(), function(i,v) { 
    height += $(v).outerHeight(true); 
}); 
console.log(height); 

功能outerHeight(真)計算,包括邊境和保證金元素的高度。詳情請參閱http://api.jquery.com/outerHeight/

+0

我喜歡jQuery:D – MonsterMMORPG

2

您也可以將元素包裹在另一個div中。

<div class="toResize"> 
    <div> 
     <element1 /> 
     <element2 /> 
    </div> 
</div> 

然後,只調整最外面的div(.toResize)。如果你需要的最低高度,你可以通過

var minHeight = $(".toResize").children("div").height(); 

我希望有所幫助。