[英]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.