为什么jquery .height()在chrome上得到不同的结果?

这是chrome显示div的宽度和高度的方式:

在此处输入图像描述

这是正确的,实际上高度是1466.但是,如果我这样做:

$(document).ready(function () { console.log($('#container-altezza-fisso').height()); }); 

它打印1418.它没有任何填充/边距。 为什么? 我该如何解决?

那是因为在DOMReady上有些图像没有完全加载。 你应该在窗口加载时调用高度。

 $(window).load(function(){ console.log($('#container-altezza-fisso').height()); }) 

你也可以使用outerHeight

获取匹配元素集中第一个元素的当前计算高度,包括填充,边框和可选边距。 返回值的整数(不带“px”)表示,如果在空元素集上调用,则返回null。

 console.log($('#container-altezza-fisso').outerHeight()); 

使用outerHeight()来获取带填充的高度。 使用outerHeight(true)来获取带有填充+边距的高度。

这是文档的链接。

.height()将获得元素的高度, .outerHeight()将返回包括填充,边距和边框的高度。