请教,为什么jQuery height()获取的高度无故多了30?

winzond 2018-10-11 12:05:21
.tfoot {width:100%;background-color: lightyellow;position: absolute;bottom: 0;border:1px solid red;overflow: hidden;}
function setTbH() {
$(".tbody").each(function () {
var $gridTable = $(this).closest(".gridTable");
var gtH = $gridTable.height();
var thH = $gridTable.find(".thead").height();
var tfH = 0;
if ($gridTable.find(".tfoot").length > 0) tfH = $gridTable.find(".tfoot").height();
$(this).height(gtH - thH - tfH);
console.log($gridTable.find(".tfoot"));
console.log("gtH:" + gtH);
console.log("thH:" + thH);
console.log("tfH:" + tfH);
console.log("tbH:" + $(this).height());
})
}


这明明就是22,为啥获取到的高度是52,平白无故多了30,导致整个布局不美观
...全文
257 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
winzond 2018-10-11
  • 打赏
  • 举报
回复
引用 1 楼 t15137830 的回复:
你在body加载之前就获取tfoot高度看看
对不起,是我看错了,如果body加载前就获取的话,得到的是undefined
winzond 2018-10-11
  • 打赏
  • 举报
回复
用JS的clientWidth获取的居然是1000,innerHeight获取到的是undefined,这都什么鬼
winzond 2018-10-11
  • 打赏
  • 举报
回复
引用 1 楼 t15137830 的回复:
你在body加载之前就获取tfoot高度看看
这是不可能的,$(document).ready(function () {...}还是加了的,如果手动设定height,就能获取正确的高度,自动渲染的,获取就出错了。所以,肯定不是这个原因,即使是这个原因,它获取的应该为0,也不可能平白无故多了30。还请教大神,正确的原因,手工设置可不是个好事
田小瘦 2018-10-11
  • 打赏
  • 举报
回复
你在body加载之前就获取tfoot高度看看

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧