『getElementById』を使用したときのミス

JavaScriptで『getElementById』を使用してタグを拾うつもりが何故か拾えない。

コードはこんな感じ。

document.getElementById("dhy").innerHTML = pDate.getFullYear();

『dhy』というタグを取得して、そこに日付の"年"を表示させるというものだが、何処が間違っているのか分からずしばらく悩んでいた。

以下が間違いの部分。分かりやすくするために不要な部分は出来るだけハショった。
<body>
    <script type="text/javascript">set_pdate(Date());</script>
    <div id="dhy"></div>
</body>

すぐに分かった人には「なんだ」と思わせたかも知れないが、要するに、お目当てのタグ『<div id="dhy"></div>』より前にJavaScriptのFunctionを呼び出していたため、該当のタグを取得できなかったのだ。

つまり、
<body>
    <div id="dhy"></div>
    <script type="text/javascript">set_pdate(Date());</script>
</body>

このように、取得したいタグより下(すぐ下でなくとも良いのだが)でタグを取得するJavaScriptのプログラムが実行されなければならなかったのだ。
初歩的なことかもしれないが、まともに教本など読んだことがない私には勉強になった。

追記:
『window.onload』を使用すれば簡単に解決できた。

0 Comments:

Recent Posts