グローバル変数がこの関数で認識されないのはなぜですか?グローバルおよびローカルjavascriptのスコープ
<script type="text/javascript">
var id_f = document.getElementById('f');
function foo()
{
id_f.innerHTML=("text");
}
</script>
グローバル変数がこの関数で認識されないのはなぜですか?グローバルおよびローカルjavascriptのスコープ
<script type="text/javascript">
var id_f = document.getElementById('f');
function foo()
{
id_f.innerHTML=("text");
}
</script>
.getElementById()
関数が一致する要素がエラーではありませんこれは、見つからない場合null
返しますが、あなたのid_f
変数がnull
であれば、それは.innerHTML
性質を持っていないと、それはエラーになります。
ページソースに一致する要素があっても、の後にスクリプトが実行されない限り、が実際に解析されます。したがって、スクリプトはソース内の要素の後ろにある必要があります(たとえば、</body>
タグの直前など)。または、onloadまたはdocument.readyタイプのハンドラを追加してそこからコードを実行する必要があります。
(あなたはあなたの関数の先頭にconsole.log(id_f)
またはalert(id_f)
を追加した場合、あなたは何を得るのですか?)
ありがとうございます。それがまさに問題でした。私はちょうどjavascriptで作業を始めました。 – T110
あなたは間違っています。認識される。 – akonsu
正確には動作しません。 – user1096188
あなたのhtmlコードにはどこに置いてありますか、どのブラウザを使ってテストしていますか? – skyburner