web-dev-qa-db-fra.com

TypeError non capturé: impossible de lire la propriété «getElementsByTagName» de null

J'essaye ceci solution mais .getElementsByTagName() qui est utilisé, a produit une erreur:

var tags = document.body.getElementsByTagName("*");
Uncaught TypeError: Cannot read property 'getElementsByTagName' of null

Pourquoi génère-t-il cette erreur et comment puis-je la corriger?

15
5ervant

document.body ne recevra pas de valeur tant que l'élément body n'aura pas été créé.

Bouge le <script> du <head> élément à <body> élément (puisque vous essayez d'obtenir tous les éléments, vous voudriez être à fin de l'élément corps) ou le mettre dans une fonction et l'appeler à partir d'un événement qui se déclenche après la création du corps (tel que l'événement windowload).

11
Quentin

Notez que cette erreur aussi se produit si vous utilisez LastPass, au moins comme pour le 7 novembre 2016. Je pensais que c'était un problème avec mon code, mais apparemment ce n'est pas le cas.

64
Rav