JS如何获取高度

qq_42543358 2018-12-15 01:15:54
动态创建的30个div,宽度是设死的,高度是由内容撑的,在浏览器盒模型中看到的高度是410px,但是用offsetHeight只有77。现在就是要瀑布流,但是获取盒子的高度不对,定位的top值是每一排最矮盒子的高度,现在无法准确获取盒子高度,求解
...全文
755 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
du2lon 2018-12-28
  • 打赏
  • 举报
回复
如果你添加的子盒设置了浮动,父盒的高度不会跟随子盒的内容增加,解决的办法是在子盒列表的最后加一个隐藏盒,在这个盒清除浮动就可以了

<div>
<div class="list">列表</div>
<div class="list">列表</div>
<div class="list">列表</div>
<div class="cf"></div>
</div>

<style>
.cf{height:0; clear:both;}
</style>
hatakei88 2018-12-19
  • 打赏
  • 举报
回复
如果是多个元素 最好用 each循环获取高度,而且确保元素加载完成再执行获取元素高度
$("#list div").each(function(i){
var divH = $(this).outerHeight();
});
老马历写记 2018-12-18
  • 打赏
  • 举报
回复
提供的上下文不是很够,不是特别清楚您的应用场景,用jQuery的$("selectoar").outerHeight()试试
泠水如幻 2018-12-17
  • 打赏
  • 举报
回复
offsetHeight没算margin,所以高度小了?
mikezzw 2018-12-17
  • 打赏
  • 举报
回复
是不是用了浮动float了?
winzond 2018-12-15
  • 打赏
  • 举报
回复
你用jQuery的$("selectoar").width()试试

87,910

社区成员

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

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