• ベストアンサー

<head>と<body>どっちに入れる?どっちも入れる??

よくJavaScriptで、<head></head>の間に書きこむのと、<body></body>の間に書くのがありますが、どう違うのでしょうか。<head></head>に書くだけのが大半で、たまに両方書くのがあるのですが、毎回疑問に思ってました。お願いです。教えてくださいまし。

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

  • ベストアンサー
  • n-ie
  • ベストアンサー率26% (16/60)
回答No.2

どのような場合に…というのがはっきりしないのであいまいな回答になっちゃいますが、どっちの場合もあります。 functionだとheadの中に書いてますが、動的に文書の内容を書き出したりするような、最終的な命令部分はbodyの中に書いてますね。headの中で定義した関数をbodyの中で呼び出したりしますから。

mikio_to_mikio
質問者

お礼

謎が解けましたありがとうございます。これからもっと勉強していきます。先人に報いるためにも。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • elttac
  • ベストアンサー率70% (592/839)
回答No.1

 結論から言いますと,「どちらでもよい」です。script 要素は,head 要素の中にも,body 要素の中にも,いずれにも登場してよいことになっています。  それで,head 要素に集中して記述すると,デバッグがやりやすくなる利点があります。

mikio_to_mikio
質問者

お礼

ありがとうございます。まだまだ勉強の足りない自分を痛感しました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • <body>内に<head>を入れ子にできるのか?

    <head>内に、以下のタグを入れると転送できますが、 <meta http-equiv="Refresh" content="0;URL=http://example.com"> 自社でCMS(コンテンツマネージメントシステム)を導入してまして、 <body>内の一部しか編集権限がありません。 <body>内に、こんなこと書いたらいけませんよね?? あるいは、何か方法はあるのでしょうか。 <body> <head> <meta http-equiv="Refresh" content="0;URL=http://example.com"> </head> </body>

    • ベストアンサー
    • HTML
  • インクルードしているheadの中に記述するには?

    htmlのヘッダーを関数化して全画面でインクルードしています。 ある画面でだけ、ちょっとしたjavascriptの記述をヘッダー内に記述したいのですが、どうしたらいいでしょうか? 現状ではヘッダー関数の中でJSを外部ファイルで読み込んでいますが、JSのスクリプトでwindow.onloadなどを使う場合、すべてのページに該当してしまいよろしくありません。 うまい方法がありましたらご教授宜しくお願いします。 またheadの終わりからbodyの始まる間にscriptを書いても問題はないのでしょうか? 動作的にはエラーは通知されませんでしたが。 原則的にはheadの中だと思うので。 <html> <head> </head> ●ここにjavascriptを記述 <body> ・・・ 【環境】 php5

    • 締切済み
    • PHP
  • </head>タグと<body>タグ間の記述はスパムでしょうか?

    すごく初心者的な質問かもしれません。 現在Dreamweaverにてホームページを作成しているのですが、 <head>~</head>の間に<meta>タグとショートカットアイコンのリンク以外の記述をしたら、ヤフー八分にあってしまいました。 具体的に記述してあったのは <style type="text/css"> <!-- .style16 {color: #ffffff} --> </style> などのスタイルの記述程度です。 これが原因かどうかはわからないのですが、とりあえず 上記のスタイルの記述を </head>~<body>タグの間に記述することにしました。 しかし、この記述も問題があるのかどうか不明です。 </head>~<body>の間に何かを記述することは問題あるのでしょうか?

  • headとbodyの優先順位

    headの中に <style type="text/css"> <!-- body {background:#7799bb;} --> と書くと、bodyとして <body bgcolor="#000000"> と書いても、背景色は#7799bbになります。これで正常なのでしょうか。 htmlでは直近の記述が有効と聞いたのですが、上の例では<body bgcolor="#000000">の方が後なので直近の記述なので、背景は#000000になるはずだと思うのですが...。

    • ベストアンサー
    • HTML
  • コメント挿入は<head></head>でも可能ですか。

    普通、コメントタグ<!--XXX-->は、<body></body>に書きますが、 <head></head>でも書けますか。

    • ベストアンサー
    • HTML
  • </body>の直上にJavaScriptを入れる理由について教えてく

    </body>の直上にJavaScriptを入れる理由について教えてください。わたしの会社のサイトに入力フォームのアシストをするバルーンなどPOPアップあげるJavaScriptを入れるのですが(ここは全角で入力してください、とかいうメッセージを出す)、サービス元のASPから「JavaScriptは</body>の直上に記載してください」と言われます。単に<body></body>の間の任意の個所でではダメでしょうか?設計上、</body>の直上に記載するのが難しくて・・・。で、任意の個所にいれたら、画面の動きがすごく重くなってしまいました。どうして</body>の直上に入れないとこんなことが起きてしまうのでしょうか? 的を得ていない質問かもしれなくて申し訳ないですが、ヒントだけでもいただけるとうれしいです。 よろしくお願いします。

  • headからbodyへ<p>の挿入

    毎回文字列に処理を加えてたものを動かしたいので、htmlファイルを読み込んだ時にbodyに<p>を挿入したいのですが、効率のいい方法が分かりません。document.writeで書き込めばできそうですが、全部をdocument.writeで書くのは死にますので、何かいい方法があれば教えて下さい。 お願いします。m(__)m

  • HTMLのheadより先に外部java読み込み

    タイトル通りなのですが、 HTMLにおいて、 まずは宣言などをして、 その後<head></head>があると思います。 外部化したJavaScriptファイルなどの読み込みは、 以下のように記述すると思いますが、 <script async src='外部化したURL' type='text/javascript'/> (非同期の場合) head内に書くとページ表示速度が著しく遅くなってしまいます。 そこで、 headタグの前に外部化したJavaScriptの読み込みリンクを記述すると、 ページ表示速度は速くなりました。 記述方法的には、 イレギュラーなのだと思いますが、 headタグの前に記述した方が明らかに表示速度が速いです。 head内もしくは、</body>直前などですと、 著しく遅くなってしまいます。 ※ただページ表示速度サイトなどですと、   head内に記述した方が速いような数値になっていますが、   明らかにheadの前に記述した方がIEにおいてもChromeにおいてもファーストビューの表示が速いです。 headの前に、 外部化したJavaScriptのリンク先URLを記述しても特に問題はないのでしょうか? それとも、 何か問題が生じてしまうのでしょうか? 今は、 ページ表示が体感的に速い方 (head前) に記述しています。 何か問題が生じてしまうのでしょうか? 何卒ご教授お願い申し上げます。 cf)URLは http://sekirarablog.blogspot.jp/ です。

    • ベストアンサー
    • HTML
  • 外部ファイルでBODYのonloadイベントの関数を指定するには?

    (1)<BODY onload="funcA()">という形でなく、 ヘッダー内に入れた外部ファイルに (2)document.body.onload=funcA; としたいのですが、 「document.bodyはオブジェクトではありません」 というエラーになってしまいます。 <script language="javascript" src="xx.js">は <head></head>の中に入れています。 どうしたら(2)の方法で、 外部ファイルでbodyのonloadイベントの関数を指定できるでしょうか?

  • BODYタグのonloadについて

    こんにちは。 HTMLのBodyタグにて、onload処理を記述しているのですが、 不思議な現象が起きます。。。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title></title> <script language="JavaScript" type="text/JavaScript"> <!-- // 初期表示 function init() { alert("AAA"); var formObj = document.getElementById("starter"); alert("formObj.action = " + formObj.action); formObj.submit(); } //--> </script> </head> <body onload="init()" tabindex="-1"> Now Loading... <form method="post" name="starter" action="/getIchiran.do" > <% System.out.println("このJSPにきてますか?"); %> </form> </body> </html> 上記のように記述しているのですが、 onloadのinit関数が、呼ばれる場合と呼ばれない場合があります・・・ 呼ばれる場合と、呼ばれない場合でも 「このJSPにきてますか?」のログは表示されているので、このHTML(JSP)は呼ばれている模様です。 どうしてこうのような現象が起きるのかさっぱり分からなくて・・・ 何が悪いのか教えて頂けないでしょうか? 宜しくお願い致します。 IEは6.0、 OSはWindowsXPです。

    • ベストアンサー
    • HTML
このQ&Aのポイント
  • 質問者はインターネットが頻繁に切れる問題に悩んでおり、ルータを最新の製品に交換したが改善されなかった。ログを見ると、wan6に関するエラーが頻繁に発生していることが分かる。質問者はそのエラーの原因とインターネットの切れる問題との関連を知りたいとしている。
  • 質問者は使用している製品がインターネットに接続できない問題に遭遇しており、ルータをWRC-X6000XS-Gに交換したが改善されなかった。ルータのログにはwan6のエラーが頻繁に記録されている。質問者はエラーの原因とインターネットの切断問題との関連について教えて欲しいと質問している。
  • 質問者はインターネット接続が頻繁に切れる問題に悩んでおり、ルータを最新の製品に交換したが問題が解決しなかった。質問者はルータのログを調べたところ、wan6に関するエラーが頻繁に発生していることが分かった。質問者はそのエラーが何を意味しているのか、インターネット接続の問題と関連しているのか知りたいと質問している。
回答を見る