javascript - 如何计算jQuery中元素的高度?

标签 javascript jquery html css

我正在使用别人编写的 Accordion 。当 Accordion 最初显示时,每行的初始高度被持久化,然后将它们的高度设置为 0。然后当该行变为可见时,其高度恢复为原始值。

但在我的例子中, Accordion 的高度会发生变化,因为我正在用数据异步填充它们。所以,当行变得可见时,我想根据它的新内容计算行的高度。但是,因为使用 .css('height', 0) 将其高度设置为 0,所以 $(elem).height() 给出 0。

有没有办法计算元素的高度,而不是仅仅检索它的 css 高度值?

最佳答案

使用 jQuery 的 innerHeight 函数获取元素的计算高度,无边框和边距。

var height = $('#myElement').innerHeight();

编辑: 使用 jQuery 的 outerHeight 函数获取元素的计算高度,包括填充、边框和可选的边距。

//without margin
var height = $('#myElement').outerHeight();

//with margin
var height = $('#myElement').outerHeight(true);

编辑 2: 您还可以将这些结果与原生 Javascript 进行比较。

var el = document.getElementById('myElement');
var height = el.offsetHeight;

关于javascript - 如何计算jQuery中元素的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30486450/

相关文章:

jquery - 单击按钮时弹出窗口不起作用

javascript - 我可以在不使用 Jquery UI 的情况下获得 Jquery Pulsate Effect 吗?

javascript - 使用 react-native-ble-manager 获取可用蓝牙设备的列表

jquery - 我希望在菜单 slider 向下时将我的内容向下推

javascript - 冗余让微软和谷歌托管 jQuery

javascript - 图像映射的悬停和选定状态

javascript - 关于 HTML 表单的查询

javascript - Ext.dispatch 来自 itemTap 监听器?

javascript - 崩溃碰撞时数组拼接多个对象

jquery - 根据父级高度设置 UL 最小高度