1. ホーム
  2. javascript

[解決済み] Uncaught TypeError: nullのプロパティ'getElementsByTagName'を読み取れませんでした。

2022-03-15 17:19:33

質問

で要素を選択しようとしています。 .getElementsByTagName() .

var tags = document.body.getElementsByTagName("*");

既存の回答から学んだ教訓を生かした現在の試み https://stackoverflow.com/questions/7410949/javascript-document-getelementsbyclassname-compatibility-with-ie/7410966#7410966

しかし、私の試みは失敗し、このエラーが発生しました。

Uncaught TypeError: Cannot read property 'getElementsByTagName' of null

なぜこのようなエラーが発生するのか、どうすれば解決できるのか。

解決方法は?

を移動させます。 <script> から <head> 要素から <body> 要素を使用します。



document.body は、body 要素が作成されるまで値が代入されません。

のすべての要素を取得しようとしているのですから。 <body> であれば 終了 をbody要素に追加します。あるいは、関数に記述して、bodyが作成された後に発生するイベント(たとえば window load イベント) を使用します。それについてもっと読むには、試してみてください。 https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event .