使用javascript自动检测高度

Detect the height auto using javascript

本文关键字:高度 自动检测 javascript 使用      更新时间:2023-09-26

我有一个固定高度的div(例如:500px)。这个div里面包含一些html块元素。我想要实现的是使用javascript检测我的div的高度,如果我将高度设置为auto而不是固定的高度。

<div id="someId" style="height: 500px;">
    <p>My paragraf</p>
    <h1>My heading</h1>
</div>

换句话说,我想在不考虑底部空白的情况下获得div的高度。

有什么办法我能做到这一点吗?

检查此Fiddle

$(document).ready(function (){
    var previousHgt=$("div").height();
    var getheightWhenAuto=($("div").css("height","auto").height());
    $("div").css("height",previousHgt   )
    alert(getheightWhenAuto);
 });

你计算孩子的身高并加起来怎么样?类似于:

<div id="#someId" style="height: 500px;">
    <p>My paragraf</p>
    <h1>My heading</h1>
</div>

所以在jQuery 中

var height = $('#someId > p').height()+$('#someId > h1').height();

编辑:或者,如果你想要一些通用的东西:

var height = 0;
$( "#someId" ).children().each(function() {
  height = height + $(this).height();
});

我想我找到了一个解决方案:

$('#someId').clone().attr('id', 'cloneId').appendTo('body');
$('#someId').css({'height':'auto','opacity':'0'});
alert($('#someId').height()+'px');

首先,我重复我的div,然后我将克隆div的高度设置为auto,然后我得到它的高度。