getElementByIdの戻り値がnullになります。
getElementByIdの戻り値がnullになります。
getElementByIdでdivタグのオブジェクトを取得したいのですが、nullとなってしまいます。
以下のコードのどこがいけないのでしょうか。
---
<div id='a'></div>
<script language="javascript">// <!--
var a_ = document.getElementById('a');
document.write(a_);
// --></script>
---
投稿日時 - 2007-07-26 17:58:12
さらに実験
<div id='a'></div>
<div></div>
<script type"text/javascript">// <!--
var a_ = document.getElementById('a');
document.write(a_);
// --></script>
これはnullですが
<div id='a'></div>
<div>あ</div>
<script type"text/javascript">// <!--
var a_ = document.getElementById('a');
document.write(a_);
// --></script>
これは[object]や[HTMLdivElement]が返りました。
投稿日時 - 2007-07-27 15:22:04
0 人が「このQ&Aが役に立った」と投票しています
回答(3)
ひょっとしたら文書の該当箇所が読み込まれてから
documentに反映されるまでに時間がかかっているのかもしれません。
当方による質問文掲示ソースの検証では
IE 7およびMinefield(Firefox 3.0a7pre)では
nullが吐かれたのに対し,
Opera 9.22,Safariは[object HTMLDivElement]を返したからです。
DOMがきちんと読み込まれたであろうタイミングで下のソースの文字列divをクリックした場合,
MinefieldやIEもきちんと[object]や[HTMLParagraphElement]を返したため,
空であるときに必ずnullが帰るかというとそうわけでもないようです。
(ただ、確かに文字列が子として含まれるときは該当の現象は発生しませんでした)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>Q3201738 テストケース1</title>
<style type="text/css">
</style>
<script type="text/javascript">
function hoge(){
alert(document.getElementById("hoge"));
}
</script>
</head>
<body>
<div onclick="hoge();">hoge</div>
<p id="hoge" />
</body>
</html>
投稿日時 - 2007-07-27 01:46:46
新着
注目ピックアップ
おすすめリンク