プロが教えるわが家の防犯対策術!

IEで
document.getElementById()はNullまたはオブジェクトではありません。
というエラーが出てしまいます。

document.getElementById()はNull、
document.getElementById()をオブジェクトにする
とはどういうことでしょうか?

A 回答 (2件)

独学でWEBサイトを作成している者です。


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

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ということなんですね。

お礼日時:2011/05/07 17:46

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

    • good
    • 0
この回答へのお礼

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ということなんですね。

お礼日時:2011/05/07 17:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!