繁体   English   中英

当主体包含很多元素时,jQuery获取实际的表高度

[英]jquery get real table height when tbody has lot of elements

我有一个<table>元素,其中包含很多行和max-height属性。
我需要找到显示的<tbody>元素的实际高度。 通常,我只能计算<table> height和<thead> height之间的差

var tbodyDispalyHeight = $("table").height() - $("thead").height();

除非水平内容过多并且出现水平滚动条(并且无法删除它,因为...我需要它!),否则此方法有效。 我应该从tbodyDispalyHeight删除它的高度,但是...该怎么办?
第一个问题:我真的不知道何时显示此栏
第二个问题:每个浏览器以不同的方式实现滚动条

这是一个JSBIN示例,可以理解我的意思。 尝试水平调整页面大小,直到出现滚动条为止,那里的被dislayed tbody height应该更低。

听起来您正在寻找clientHeight。 (但这似乎很容易。)
看看MDN
对于没有CSS或内联布局框的元素,Element.clientHeight只读属性为零,否则为元素的内部高度(以像素为单位),包括填充,但不包括水平滚动条的高度,边框或边距。
您可以尝试:

$("table")[0].clientHeight

当前,您的表中带有overflow:auto。 但是您可以使用带有“ overflow:auto”的DIV包装它。 然后,您可以通过将div的宽度与表格的宽度进行比较,简单地确定是否具有水平滚动条。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM