В JQuery, как проверить, готова ли DOM?

Возможный дубликат:
javascript domready?

Я хочу проверить, готов ли $(function(){ });.

Возвращает true, если DOM готов, false в противном случае

Ответ 1

Из кода jQuery

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

Ответ 2

Вы можете использовать явный вызов

$(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
}

Ответ 3

Эта функция будет выполняться только тогда, когда dom готов. Это точка обертывания вашего кода в этой функции;). Сказав это, некоторые вещи (например, изображения, отложенные сценарии и т.д.) Могут быть не полностью загружены или отображены, поэтому имейте в виду.

Ответ 4

Вы можете использовать jQuery.isReady, но он недокументирован и его следует избегать.

Если вам просто нужно что-то запустить после готовности DOM, вы можете просто вызвать

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

как обычно - это приведет к немедленному запуску кода, если DOM готов и подождать, пока он не появится.