###前提
(例)javascriptを勉強しています。
ボタンを押すと文字が消えるプログラムを書いてる途中に
以下のエラーメッセージが発生しました。
###発生している問題・エラーメッセージ
test.html:9 Uncaught TypeError: Cannot read property 'style' of null(…)hogehoge @ test.html:9onclick @ test.html:16
###該当のソースコード
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> hoge = document.getElementById("main"); /*関数の外に持ってくる*/ function hogehoge(style) { hoge.style.color = "#FFFFFF"; }; </script> </head> <body> <div id="main">文字だよ</div> <INPUT type="button" value="文字を消すボタン" onClick="hogehoge(style)"></INPUT> </body> </html>
ちなみに、hoge = document.getElementById("main");を関数の中に入れると動きました(以下参照)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> function hogehoge(style) { hoge = document.getElementById("main"); hoge.style.color = "#FFFFFF"; }; </script> </head> <body> <div id="main">文字だよ</div> <INPUT type="button" value="文字を消すボタン" onClick="hogehoge(style)"></INPUT> </body> </html>
hogeはグローバル変数なので関数の外で代入しても動くと思っていたのですが、
1個目のコードだけ動かない理由がわからずモヤモヤしています...
どなたかお分かりになる方いましたらご教授いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/02 00:45