Самый простой способ - сделать все на window.onload
:
window.onload = function() {
// do everything here
}
Вы также можете поместить свой javascript прямо в конец страницы, до </body>
. Таким образом, любые объекты, над которыми вы работаете, гарантированно будут в DOM.
Как уже говорили другие, некоторые JS-фреймворки имеют хороший метод запуска JS при загрузке DOM. Основным преимуществом этого является то, что вы не получаете JS-эквивалент «флэш-содержимого без стиля», то есть видите элемент в одной (возможно, некрасивой) форме, а затем меняете его после полной загрузки страницы.