• ベストアンサー

.getElementById()のエラーについて

IEで document.getElementById()はNullまたはオブジェクトではありません。 というエラーが出てしまいます。 document.getElementById()はNull、 document.getElementById()をオブジェクトにする とはどういうことでしょうか?

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

  • ベストアンサー
  • abacabu
  • ベストアンサー率37% (250/663)
回答No.2

独学でWEBサイトを作成している者です。 No,1さんの回答がまさに正論ですがわかりにくいかもしれないので例を書きます。 document.getElementById('link') という物を設定するにはHTMLソースに <div id="link"> という物が無いといけません。 このHTML上でのidに対して作用するプログラムという事です。

tekkenman7
質問者

お礼

setTimeout('document.getElementById('+'"'+sample+'"'+').innerHTML = ""',1000); //--> </script> </head> <body> <div id="sample"></div> これを setTimeout('document.getElementById("sample").innerHTML = ""',1000); //--> </script> </head> <body> <div id="sample"></div> としたらエラーがなくなりました。 document.images[img].srcのばあいは、 setTimeout('document.images['+img+'].src',1000); としないといけないので混同してしまいました。 ID名は文字列としてOK、imgは変数だからNGということなんですね。

その他の回答 (1)

回答No.1

指定されたIDを持つエレメントがドキュメント内に存在しないということでしょう。

tekkenman7
質問者

お礼

setTimeout('document.getElementById('+'"'+sample+'"'+').innerHTML = ""',1000); //--> </script> </head> <body> <div id="sample"></div> これを setTimeout('document.getElementById("sample").innerHTML = ""',1000); //--> </script> </head> <body> <div id="sample"></div> としたらエラーがなくなりました。 document.images[img].srcのばあいは、 setTimeout('document.images['+img+'].src',1000); としないといけないので混同してしまいました。 ID名は文字列としてOK、imgは変数だからNGということなんですね。

関連するQ&A