Проверка загрузки DOM (объектной модели документа)

Событие onload вызывается в том момент, когда страница загрузилась целиком, включая все изображения, анимацию и т.п. Для выполнения манипуляций с DOM достаточно полной загрузки структуры документа.

Следующий метод как раз и позволяет это сделать:

function domReady( f ) {
if ( domReady.done ) {
   domReady.done = false;
   return f();
}

if ( domReady.timer ) {
   domReady.ready.push( f );
} else {
   if (window.addEventListener)
    window.addEventListener('load',isDOMReady, false);
   else if (window.attachEvent)
    window.attachEvent('onload',isDOMReady);
   domReady.ready = [ f ];
   domReady.timer = setInterval(isDOMReady, 50);
   }
}

function isDOMReady(){
   if ( domReady.done ) return false;

   if ( document && document.getElementsByTagName && document.getElementById && document.body ) {
       clearInterval( domReady.timer );
       domReady.timer = null;

       for ( var i = 0; i < domReady.ready.length; i++ )
           domReady.ready[i]();

       domReady.ready = null;
       domReady.done = true;
   }
}

Чтобы выполнить функцию при загрузке DOM, добавьте её как аргумент в функцию domReady().

domReady(function(){alert('Hello World!');});

Другой вариант функции onDomReady.


.