我处于这样一种情况,我必须设置一个 div 的高度取决于它的内容量,我不能放弃min-height
它。我知道我们可以通过以下方式计算 div 的高度:
$("#divid").height();
那么有什么方法可以在没有高度参数的情况下计算 div 的高度,并根据其中的内容量为该 div 赋予高度。
我希望我解释清楚。
谢谢
我处于这样一种情况,我必须设置一个 div 的高度取决于它的内容量,我不能放弃min-height
它。我知道我们可以通过以下方式计算 div 的高度:
$("#divid").height();
那么有什么方法可以在没有高度参数的情况下计算 div 的高度,并根据其中的内容量为该 div 赋予高度。
我希望我解释清楚。
谢谢
您的措辞有点令人困惑,但我认为您是在问如何计算 div 内内容的大小,即使 div 应用了不同的高度。为此,您可以使用元素的scrollHeight。
$('#divid')[0].scrollHeight
如果您只想知道如何计算元素的高度,即使它没有高度的属性/样式,您可以使用您在问题中编写的内容。.height()
直接从浏览器呈现的值计算元素的高度,而不是专门从属性计算。
你有两种方法:
$("#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
就像你说的那样,.height()
不需要为使用它定义一个实际的高度。这是一个 jsfiddle 展示它的实际操作:http: //jsfiddle.net/nWb5j/
jQuery 使用 计算高度,.height()
即使元素上没有高度设置(通过 CSS 或其他方式)。