jQuery没有在文档加载时返回正确的主体高度 – 他们的bug还是我的?

我用的时候

$(document).ready(function() { var bodyHeight = $("body").height(); console.log(bodyHeight); }); 

我得到一个真正的身体高度数字。 然后我跑了

 $("body").height(); 

在控制台中,并获得正确的高度。 关于$(document).load这样的事情似乎很可疑……是的,我的CSS工作正常,所有这些,我的bug,chromes或jQuery是什么?

您想要查看$(window).load()函数而不是$(document).ready()

即使所有图形尚未加载,当加载并准备好HTML DOM时, $(document).ready()事件也会执行。 $(window).load()事件在完整加载完整页面后执行,包括所有帧,对象和图像。

这是描述差异的绝佳链接。 http://4loc.wordpress.com/2009/04/28/documentready-vs-windowload/

在DOM加载之后但在页面完全呈现之前, document.ready事件将触发。 如果你想获得正确的高度,你应该尝试window.load事件,该事件在加载所有图像和对象并且页面已经呈现后触发:

 $(window).load(function() { var bodyHeight = $("body").height(); });