一般的にjQueryはタグ内に記述するので、ソースのロード順にソースが実行されるとすれば、jQueryが何かの操作をするためにHTMLソース内のIDやクラスを参照したときに、そのIDやclassはまだロードされずにブラウザー上には存在しないことになる。
そこで、jQueryの実行をHTMLソースロード終了まで遅延させる記述$(function(){})が必要になる。
例えば、以下のロジックのjQueryソースがあった場合、
1 2 3 | <script> $( '#sample1' ).hide(); </script> |
という記述を、次のように変えます。
1 2 3 4 5 | <script> $( function (){ $( '#sample1' ).hide(); }); </script> |