はい、基本的にあなたがしたことは正しいですが、多くの場合JavaScriptが同期されていることを忘れているので、DOMが読み込まれる前にコードを実行します。これを解決する方法はいくつかあります:
1)DOMが完全にロードされているかどうかを確認し、必要なことを実行します。たとえば、DOMContentLoadedをリッスンできます。
<script>
document.addEventListener("DOMContentLoaded", function(event) {
console.log("DOM fully loaded and parsed");
});
</script>
2)非常に一般的な方法は、document
(bodyタグの後)の下部にスクリプトタグを追加することです。
<html>
<head>
</head>
<body>
</body>
<script src="/bundle.js"></script>
</html>
3)を使用してwindow.onload
、ページ全体がロードされたときに発生します(imgなど)
window.addEventListener("load", function() {
console.log("Everything is loaded");
});
4)DOMの準備ができdocument.onload
たときに発生するを使用します。
document.addEventListener("load", function() {
console.log("DOM is ready");
});
そこかどうかを確認するためにさらに多くのオプションがありDOMは準備ができているが、しかし短い答えはしないでくださいあなたは必ずあなたの作る前に、任意のスクリプトを実行してDOMの準備ができているすべての例で...
JavaScriptはDOM要素と連動しており、それらが利用できない場合はnullを返し、アプリケーション全体を破壊する可能性があります。そのため、実行する前にJavaScriptを実行する準備ができていることを常に確認してください...