###前提・実現したいこと
javascript勉強中の初心者です。
getElementByIdなどDOMに関する部分に関して、
window.onloadを使わないとscriptの実行がhtmlの読み込みより先に行われてしまう為、
要素を取得する場合、window.onloadでHTML読み込み後に実行する、
という事が必要と学びました。
ただ、そのことで混乱してしまったのですが下記の例の場合、
funciton text_overwrite()の実行文の中に、要素取得の記述があり、
ここにはwindow.onloadに代入していません。
なのにエラーにならないのはなぜでしょうか??
自分の理解だと、要素がHTMLで作成される前にscriptでtextIDを指定してしまっているから
エラーになるはずなのでは、、と思ってしまった為。
###発生している問題・エラーメッセージ
<html lang="ja"> <head> <meta charset="UTF-8"> <title>実行タイミング</title> <script> function text_overwrite(){ var text = document.getElementById('text'); text.innerHTML = '書き換え後'; } window.onload = function () { var button = document.getElementById('overwrite'); button.addEventListener('click', text_overwrite, false); } </script> </head> <body> <p id="text">書き換え前</p> <button id="overwrite">書き換え実行</button> </body> </html>
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
Javacript
回答2件
あなたの回答
tips
プレビュー