4

我处于这样一种情况,我必须设置一个 div 的高度取决于它的内容量,我不能放弃min-height它。我知道我们可以通过以下方式计算 div 的高度:

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

那么有什么方法可以在没有高度参数的情况下计算 div 的高度,并根据其中的内容量为该 div 赋予高度。

我希望我解释清楚。

谢谢

4

4 回答 4

6

您的措辞有点令人困惑,但我认为您是在问如何计算 div 内内容的大小,即使 div 应用了不同的高度。为此,您可以使用元素的scrollHeight

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

如果您只想知道如何计算元素的高度,即使它没有高度的属性/样式,您可以使用您在问题中编写的内容。.height()直接从浏览器呈现的值计算元素的高度,而不是专门从属性计算。

于 2012-12-31T05:56:53.640 回答
3

你有两种方法:

$("#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
于 2012-12-31T06:13:12.197 回答
1

就像你说的那样,.height()不需要为使用它定义一个实际的高度。这是一个 jsfiddle 展示它的实际操作:http: //jsfiddle.net/nWb5j/

于 2012-12-31T05:58:24.947 回答
0

jQuery 使用 计算高度,.height()即使元素上没有高度设置(通过 CSS 或其他方式)。

于 2012-12-31T06:06:23.833 回答