以下のHTMLを対象に、javascriptでgetelementbyidをつかって

"expand", "shrink"をとりたいのですがnullになってしまいます。
どこがおかしいかわかるかたがいましたら教えてください。
よろしくお願いします!

<body>
<div id="container">
<div id="main">
<canvas id="myCanvas" width="300" height="400">
</canvas>
<canvas id="myCanvas2" width="300" height="400">
</canvas>
</div>
<p id="message"></p>
<div id="sub">
<h3><a href="#">見出し#1</a></h3>
<div id="acc1">
<!-- <p> -->
<form>
<input type="button" value="拡大" id='expand' onClick="zoomIn()">
<input type="button" value="縮小" id='shrink' onClick="zoomOut()">
<input type="button" value="決定" id='decide' onClick="save_img()">
</form>
<!-- </p> -->
</div>
<h3><a href="#">見出し#2</a></h3>
<div id="acc2">
<p>
test
</p>
</div>
<h3><a href="#">見出し#3</a></h3>
<div id="acc3">
<p>
test
</p>
</div>
<h3><a href="#">見出し#4</a></h3>
<div id="acc4">
<p>
test
</p>
</div>
</div>
<script type="text/javascript">
$(function() {
$('#sub').accordion({
autoHeight : false
});
});
</script>
</div>
</body>

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/12/18 21:44:52
  • 終了:2011/12/18 23:12:19

ベストアンサー

id:Cherenkov No.1

Cherenkov回答回数1502ベストアンサー獲得回数4922011/12/18 22:57:43

ポイント100pt

問題ありませんでした。
なぜgetElementByIdが入ったコードを乗せないのでしょうか。

onloadが終わる前に実行していたのかな?
http://jsfiddle.net/cherenkov/c8vYD/

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<script>
window.onload = function() {
    alert(document.getElementById('expand').value);
    alert(document.getElementById('shrink').value);
};
</script>
</head>
<body>
<div id="container">
<div id="main">
<canvas id="myCanvas" width="300" height="400">
</canvas>
<canvas id="myCanvas2" width="300" height="400">
</canvas>
</div>
<p id="message"></p>
<div id="sub">
<h3><a href="#">見出し#1</a></h3>
<div id="acc1">
<!-- <p> -->
<form>
<input type="button" value="拡大" id='expand' onClick="zoomIn()">
<input type="button" value="縮小" id='shrink' onClick="zoomOut()">
<input type="button" value="決定" id='decide' onClick="save_img()">
</form>
<!-- </p> -->
</div>
<h3><a href="#">見出し#2</a></h3>
<div id="acc2">
<p>
test
</p>
</div>
<h3><a href="#">見出し#3</a></h3>
<div id="acc3">
<p>
test
</p>
</div>
<h3><a href="#">見出し#4</a></h3>
<div id="acc4">
<p>
test
</p>
</div>
</div>
<script type="text/javascript">
$(function() {
$('#sub').accordion({
autoHeight : false
});
});
</script>
</div>
</body>
</html>
id:yuma_nishizaki

回答ありがとうございます!
テストして頂いて本当に申し訳ないのですが、実はDOMと関係ないところが原因になっていました。
getelementbyidする前に別のエレメントで上書きしてしまっていただけというおそまつなミスに今気付きました。
ありがとうございました!

2011/12/18 23:12:03

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません