document.getElementById()取不到值

关于document.getElementById取不到值

  • 今天在写一点代码的时候通过document.getElementById取到的值通过console.log输入的值永远是null,代码如下;
    ### js代码

      // JavaScript Document
      function startmarquee(lh,speed,delay) {
      var p=false;
      var t;
      var o=document.getElementById("marqueebox"); 
      console.log(o);
      o.innerHTML+=o.innerHTML;
      o.style.marginTop=0;
      o.onmouseover=function(){p=true;}
      o.onmouseout=function(){p=false;} ### html代码
    
      <div id="marqueebox">
      <div class="up_li"><a href="http://www.zzjs.net/" target                 ="_blank"><span style="color:#FF0000">滚动文字一号</span></a>  
      <a href="http://www.zzjs.net/" target="_blank"><span style="color:#FF0000">滚动文字二号</span></a></div>
      <div class="up_li"><a href="http://www.zzjs.net/" target="_blank"><span style="color:#3333FF">滚动文字三号</span></a> <a href="http://www.zzjs.net/" target="_blank"><span style="color:#3333FF">滚动文字四号</span></a></div>
      <div class="up_li"><a href="http://www.zzjs.net/" targe="_blank"><span style="color:#3333FF">滚动文字五号</span></a> <a href="http://www.zzjs.net/" target="_blank"><span style="color:#3333FF">滚动文字六号</span></a></div>
      <div class="up_li"><a href="http://www.zzjs.net/" targe="_blank"><span style="color:#3333FF">滚动文字七号</span></a>
      <a href="http://www.zzjs.net/" target="_blank"><span styl="color      :#3333FF">滚动文字八号</span></a></div>
    

console.log(o)没有值,但是如果将这些代码写在html 页面中o就有值了。

原因:因为在加载网址的时候同时加载js和html,虽然说document是全局的但还是不能获取到id。

解决方案:加载页面的时候先加载html,然后在加载js

  • window.load 时间,加载页面的时候运行方法.
  • 将js方法写在html中,加载html的时候加载方法(不建议时间)。