"getElementsByTagName(...)[0]" is undefined?
events, html, javascript
Solution
Your code is executing before the h1 tag is defined. You must run it in an onload handler or put it just before /body
Problem
I have the following code, which basically toggles through a bunch of images. ``` <!DOCTYPE html> <html> <head> <script type="text/javascript"> var num = 1; img = document.getElementsByTagName("img")[0]; hbutton = document.getElementsByTagName("h1")[0]; hbutton.onclick = function() { num += 1; img.src = num + ".jpg"; } </script> </head> <body> <h1>Press Here!</h1> <img src = "1.jpg"></img> </body> </html> ``` For some reason, when I run it, nothing happens, because of the following error as displayed by my Firebug console. ``` hbutton is undefined --- hbutton.onclick = function() { ``` When I run just the JS after the page has loaded however, it works perfectly fine!!! Why is this?