2012-05-14 118 views
15

我想用jQuery来设置几个div的高度都是与最高div相同的高度。基本上我通过div循环并从每个div获取高度,将最大的一个存储在变量中。然后我循环遍历所有这些变量,并将它们的高度设置为变量。jQuery高度()返回false值

但是,jQuery给我的高度错误的值。例如,第一个div的height()函数返回633,但是当我在检查器中查看它时,它说它是603.我完全不知道为什么它会这样做。它似乎包括填充和边距,但文档说它不应该这样做。

在我的样式表中,div的高度设置为auto。如果我给它们一个固定的像素高度,那么jQuery的height()函数会返回正确的值,但是当它们处于auto状态时(正如它们需要的那样)则不会。

该网站提到ictsf.org。注意三列底部的额外空间。

+2

我刚刚证实,这个问题不会发生在Firefox中。它发生在Chrome和Safari中。没有用IE测试过,因为IE很烂。 – TGPrankster

+0

这样一个很好的理由不用IE来测试它。 –

回答

32

的问题与上$(document).ready()运行你的“平衡柱高度”的代码,这发生之前WebKit是了解你的图像的高度。

因此,最快速的解决方法是运行代码$(window).load()。或者,更好的是,使用imagesLoaded plugin

或者,在img上设置height属性可能会解决此问题。

+0

你,先生,是个天才!非常感谢你。 – TGPrankster

+0

已经1小时挣扎了,但是你救了我更多......谢谢! – vaskort