在JQuery中,我如何检查DOM是否准备好了?

时间:2011-12-04 07:19:18

标签: javascript jquery

  

可能重复:
  javascript domready?

我想检查$(function(){ });是否“准备好”。

如果DOM准备好,则返回true,否则返回

4 个答案:

答案 0 :(得分:21)

来自jQuery代码

if ( jQuery.isReady ) {  
    fn.call( document, jQuery );
} 

答案 1 :(得分:14)

您可以使用显式调用

$(document).ready(function(){
  // do this after dom is ready
});

或使用快捷方式

$(function(){
  // do this after dom is ready
});

当您使用其他库时,将jQuery包装在匿名函数中也很有用;在编写jQuery插件时也很常见。

(function($, window){
  // use $ here freely if you think any other library might have overridden it outside.
  $(function(){
    // do this after dom is ready
  });
})(jQuery, window);

最后,您可以使用jQuery.isReady(bool)

if (jQuery.isReady) {
  // do something
}

答案 2 :(得分:2)

该功能仅在dom准备就绪时执行。这就是将代码包装在该函数中的重点;)。话虽如此,有些东西(如图像,延迟脚本等)可能还没有完全加载或渲染,所以要注意。

答案 3 :(得分:1)

您可以使用jQuery.isReady,但它没有记录,应该避免使用。

如果你只需要在DOM准备就绪后运行一些东西,你可以调用

$(document).ready(function() {
    ...
});

正常 - 如果DOM准备就绪,将立即运行代码,如果没有,则立即运行代码。