2011-09-06 62 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(); 

我希望有所帮助。