• ベストアンサー

HTMLにジャバスクリプトを書く位置は?

http://archiva.jp/web/javascript/tab-menu.html 上記のサイト「タブ切替ジャバスクリプトプログラム」は、上下2つのスクリプトに分かれています。 上のスクリプトは、「置き場所は</body>直前を勧めとく」と解説されています。 下のスクリプトは、「先の起動部分より先に宣言されていなければならない」と解説されています。 それなら、上下を逆にして1個のスクリプトで書けば良いのではないでしょうか? http://hyper-text.org/archives/2007/09/javascript_tab.shtml その問題を解消する為に、上記のサイトでは「window.onload=function() 」で上のスクリプトを囲んでいます。 どうして、この様な解決法になるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.1

DOMを解析するスクリプトは、HTMLをブラウザが全部解釈し終わってから実行する必要があります。 無いものは解析できないからです。 方法1: BODYの最後に書くことで、それ以前のHTMLの解釈が終わってから実行する 方法2: onloadを使うなどして、HTMLが全部解釈し終わって表示されてから実行する

prime2011
質問者

お礼

回答をして頂きまして、ありがとうございます。 解説をして頂いたお陰で、ほぼ理解が出来ました。 http://archiva.jp/web/javascript/tab-menu.html 上記サイトの上下のジャバスクリプトとHTMLを配置が可能な順番を考えます。 (1)HTML→下のジャバスクリプト→上のジャバスクリプト (2)下のジャバスクリプト(head内などに書く)→HTML→上のジャバスクリプト (1)と(2)のどちらの順番で記述をしてもOKなのでしょうか? つまり、HTMLの「/bodyタグ」の直前に、下・上スクリプトを連続で並べて書けば、「window.onload=function() 」を使わなくてもOKですか?

prime2011
質問者

補足

HTML→下のジャバスクリプト→上のジャバスクリプト 上記の順番でプログラムを組んで自分で試した所、可能でした。 失礼致しました。

関連するQ&A

専門家に質問してみよう