2012-10-03 57 views
7

这是怎么镀铬显示div的宽度和高度:为什么jQuery.height()在Chrome上获得不同的结果?

enter image description here

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

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

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

+0

还有哪些其他样式规则应用于该元素?它是否有任何特定的孩子的尺寸(高度)可以改变内容将被加载后? – raina77ow

回答

8

这是因为在domready中的一些图像不完全加载。你应该在窗口加载时调用高度。

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

您还可以使用outerHeight

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

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

没有什么变化.... – markzzz

+2

这节省了我很多头痛 - 谢谢! – boz

2

使用outerHeight()以获得填充高度。 使用outerHeight(true)以获得填充+边距的高度。

Here's a link to the documentation.

+0

正如我所说,我没有填充/保证金!它的作品把代码放在$(window).load ...:O – markzzz

2

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

相关问题