document.getElementByIdでnullのエラー

3日いろいろなサイトをあたってようやく解決.

現象:document.getElementById(“dia”).innerHTML = hoge;

で,JavaScriptの書き方で反映されないときがある.

自分用時刻表アプリを書いています.出発までの残時間はリアルタイムで反映され便利です.問題は,終バスが出た後のに「本日終了〜」みたいな文字を入れたいのですが,それが表示されずエラーが出ます.

出るエラーは

TypeError: document.getElementById(…) is null

で,この意味はどうやら

「おまえ,そんなID無いよボケ!!」

みたい.

でもHTML上にはちゃんと,

<div.time id=”dia”><p>aaa</p></div>

があります.

で,3日間いろいろなサイトを当たりましたが,どうも実行順の問題のようです.

HTML書類は行の上から実行されますが,HTMLの最後に書かれている<DIV>タグを読み込む前にID検索しようとして,無いと言われるみたい.

解決方法は,HTML全部読み込んだ後にID検索すればいいじゃん!ってことなんですが,ここにも罠が.

</script>の直前にgetDocument~が入っているfucnctionのshowTime()を実行させようと,

window.onload=showTime();

と書いてもエラーが.

何でも,この場合は

window.onload=showTime;

()無しで実行するらしい.

はぁ〜?何でしょこれ?

()をつけると関数を実行,()をつけないと関数を参照という意味らしいですが,,見に行くって,,ねぇ

でもこれでうまく行きそう.