ブラウザはファイルの先頭から読み込んでいく。

だいぶ昔にjavascriptを触りながら独学してたけど、お遊び程度だったのでちゃんと理解してなかったことがありそう。
以下もその一つかもしれない。


Webブラウザーは、(X)HTMLをファイルの先頭から一行ずつ読み込んでおり、script要素が読み込まれた段階で、script要素内に記述された命令を実行します。

(中略)

ということは、head要素内の script要素に body要素内の(X)HTMLを操作するための命令を書いても、ブラウザーがまだ script要素までしか読み込んでいないので、意図通りには動きません。

そうなのか〜。で、その問題の解消の為に、スクリプトの実行タイミングを制御するのが、「ready」関数と。
記述の仕方はこんな感じ。

$(document).ready(function(){
    //ここにjQueryの命令を記述
})

//または、こんな略記法も使えるらしい。
$(function(){
    //ここにjQueryの命令を記述
})

処理タイミングはHTMLの読み込みが終わった後なので、この内部にタグ操作の為の処理を記述しても問題なく動くようになるという仕組み。
関数がファーストクラスになっている言語だからできる芸当だな。
静的型言語でこれと同じことやろうとすると、準備があって結構面倒くさいからなぁ。


jQueryスクリプトを書くときには、ほとんどの場合、まずready関数を記述し、その内側に実際の命令を記述していきます。jQueryを利用するときの1つの“決まりごと”として、覚えてしまいましょう。
サー イエス サー!!