I'm trying to select elements with .getElementsByTagName()
.
var tags = document.body.getElementsByTagName("*");
Current attempt using lessons learned from an existing answer https://stackoverflow.com/questions/7410949/javascript-document-getelementsbyclassname-compatibility-with-ie/7410966#7410966
But my attempt failed and I have this error:
Uncaught TypeError: Cannot read property 'getElementsByTagName' of null
Why is it producing this error and how can I fix it?
Move the <script>
from the <head>
element to the <body>
element.
document.body
won't get a value assigned to it until the body element has been created.
Since you are trying to get all the elements in the <body>
, you'd want to be at the end of the body element. Or put it in a function and call it from an event that fires after the body has been created (such as the window
load
event). To read more about that try, https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With