Uncaught TypeError: Cannot read property 'getElementsByTagName' of null

后端 未结 2 1000
被撕碎了的回忆
被撕碎了的回忆 2021-02-04 03:20

I\'m trying to select elements with .getElementsByTagName().

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

Current attemp

相关标签:
2条回答
  • 2021-02-04 03:45

    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.

    0 讨论(0)
  • 2021-02-04 03:49

    Function examples:

    • Page loaded with pure JavaScript

    • Page loaded with jQuery

    Example with both methods:

    function init() {
      alert("hello javascript");
    };
    
    window.addEventListener("load",init,false);
    
    $(document).ready(function () {
      alert("hello jQuery");
    });
    

    http://jsfiddle.net/Ln5zu4Lt/

    Be careful, the JavaScript example above waits for page load (images, iframes, etc.). This takes more time than jQuery's ready.

    0 讨论(0)
提交回复
热议问题