27

我有一个有两列的网站。我想使用 jQuery 在两者上具有相同的高度。

我正在尝试获取徽标列的高度。我有:

$(document).ready(function() {
    alert($('#logo').height());
});​

它没有用。所以我把它改成:

window.onload = function(){
    alert($('#logo').height());
}

它正在工作。这是怎么回事?

4

2 回答 2

35

document ready在 DOM 加载时触发,因此高度等信息不可用,除非明确声明。

window onload等待页面中的资产完全加载 - 因此现在可以使用高度等信息。

于 2012-05-27T23:54:41.233 回答
6

我在处理 $(document)ready 中的图像高度和宽度时遇到了同样的问题,我找到了一些更好的参考来解决它......我希望这可以帮助一些人

$(文档).ready()

当 HTML 文档被加载并且 DOM 准备就绪时触发 document ready 事件,即使所有的图形还没有加载。如果您想在窗口加载之前为某些元素连接事件,那么 $(document).ready 是正确的地方。

代码:

$(document).ready(function() {
    // document is loaded and DOM is ready
    alert("document is ready");
});

$(窗口).load()

窗口加载事件稍后触发,当整个页面完全加载时,包括所有框架、对象和图像。因此,涉及图像或其他页面内容的函数应放置在窗口或内容标签本身的加载事件中。

代码:

$(window).load(function() {
    // page is fully loaded, including all frames, objects and images
    alert("window is loaded");
});
于 2014-06-23T05:15:26.930 回答