JavaScriptをHTMLファイルに記述した場合、最初にfunctionスコープ内の動作以外は全て行なわれますよね。例えば、
<script type="text/javascript">
<!--
alert("test");
//-->
</script>
と書いた場合、ページの表示と同時にアラートが出ます。しかし上のalertの部分をdocument.getElementById("test").innerHTML = "test";にすると、これが実行されないのです。もちろん<div id="test"></div>タグはちゃんとbodyタグ内に記述してあります。functionを定義してbody onLoadで呼び出す方法もありますが、できればfunctionをむやみに使いたくないので、先のalertの時のように動作させたいのです。
これが動作しない原因は何なのでしょうか?
No.3ベストアンサー
- 回答日時:
>できればfunctionをむやみに使いたくない
ってどんな主張かしりませんが、つまらないポリシーのために
本来やるべきことを避けているのでは本末転倒ですね。
functionをつかわないなら、bodyの一番最後に
scriptをかくことになりますのでひじょーにかっちょわるいです。
前出の回答のほかではよくつかうのはonloadで呼び出す。
<html>
<head>
<script>
window.onload=function(){
document.getElementById("test").innerHTML = "test";
}
</script>
</head>
<body>
<div id="test"></div>
</body>
</html>
No.2
- 回答日時:
No1でも書かれてるけどJavascriptは上から順に読み込まれる
HTMLも上から描画されていく
なので読み込んでいってまだ描画されてない所に実行文が有っても無いと言われる。
例
・headタグ内でscript実行
・目的のタグがbody内
→まだbodyは読まれてないので無いと言われる
例
//----------
TEST();
function TEST(){
alert("TEST");
}
//----------
TESTの実体が出てきてないのに呼び出してるので実行できない
No.1
- 回答日時:
単純にdocument.getElementById("test")がまだ無いだけだと思います。
例えば
<head>
<script>
document.getElementById("test").innerHTML = "test";
</script>
</head>
ではオブジェクトがありませんとなりますが、
<div id="test"></div>
<script>
document.getElementById("test").innerHTML = "test";
</script>
とすると動くと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptでalertの文字列をコ...
-
JavaScript で指定した月日に別...
-
javascriptにてonclickを無効
-
変数の代入値を外部の.txtファ...
-
javascriptでのHPデザインの振...
-
日替わりメッセージの表示
-
htmlソースの取得方法
-
指定の年月日時にcssを自動で切...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
SCRIPT5007: 未定義または NULL...
-
base64encodeでの文字化けについて
-
別ファイルのfunctionの読み込み方
-
リンク移動先のURLを取得
-
スマホ上で、左右スワイプで次...
-
HTML内に記載された画像のURLを...
-
Java ScriptでIPによるアクセス...
-
Vbscriptで自分自身のウィンド...
-
javascriptからウィンドウを開...
-
ASPで取得した情報をscriptタグ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでalertの文字列をコ...
-
変数の代入値を外部の.txtファ...
-
onLoadをbodyタグ以外で使用する
-
特定のページから移動してきた...
-
ウィンドを開いたとき位置を指...
-
javascriptにてonclickを無効
-
画像ファイルのアドレスに今日...
-
「jQuery」アニメーションをル...
-
指定の年月日時にcssを自動で切...
-
iframe内をリロードできますか?
-
セキュリティ保護の警告が出な...
-
【javascript クロスブラウザ...
-
ブラウザーのバージョンによる...
-
javascriptでページ内の一部分...
-
Future Shop2というショッピン...
-
日替わりメッセージの表示
-
jqueryでtoggleを無制限に繰り...
-
JavaScript で指定した月日に別...
-
Refreshの回数
-
DOCTYPE宣言とdocument.body.cl...
おすすめ情報