<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT=""><script type="text/javascript">
function ok(){
alert("11111");
alert(document.getElementById("in"));
}ok();
</script>
  
 </HEAD> <BODY>
    <div id="banner">123</div>
  <input type="text" value="123" id="in" />
 </BODY>
</HTML>
郁闷死了,求达人解答下~

解决方案 »

  1.   

    <script type="text/javascript">
    function ok(){
        alert("11111");
        alert(document.getElementById("in"));
    }ok();
    </script>
    代码放在页面最后,你这样子调用的时候,input元素还没出来呢!
      

  2.   

    <script type="text/javascript">
    function ok(){
        alert("11111");
        alert(document.getElementById("in"));
    }ok();
    </script>
    放在<input>之后DOM是顺序加载, 在加载到script标签时, <input>并没有加载到DOM中来, 所以找不到
      

  3.   

    或者等onload结束之后调用!<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT=""><script type="text/javascript">
    function ok(){
        alert("11111");
        alert(document.getElementById("in"));
    }
    </script>
      
     </HEAD> <BODY onload="ok()">
        <div id="banner">123</div>
      <input type="text" value="123" id="in" />
     </BODY>
    </HTML>
      

  4.   

    你的脚本执行的时候,DOM树还没有加载完,当然找不到了。
    你可以将执行脚本放在</body>代码之后,或者,在window.onload后再执行。
      

  5.   

    要先加载后调用<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT=""><script type="text/javascript">
    function ok(){
        alert("11111");
        alert(document.getElementById("in").value);
    }window.onload=function(){
        ok()
    }
    </script> </HEAD> <BODY>
      <div id="banner">123</div>
      <input type="text" value="123" id="in" />
     </BODY>
    </HTML>
      

  6.   

    有那么麻烦么?
    在<script type="text/javascript" defer></script>
      

  7.   

    打错了,应该是<script type="text/javascript" defer></script>
      

  8.   

    那如果把代码放在js文件里,也要把.js引用写在最后嘛?这样?
    </body>
    <script type="text/javascript" src="banner.js"></script></html>
      

  9.   

    是的,src=XXX.js 并保证调用dom元素的时候其元素已经加载完成
      

  10.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT=""><script type="text/javascript">
    function ok(){
        alert("11111");
        alert(document.getElementById("in"));
    }window.onload=ok;
    </script>
      
     </HEAD> <BODY>
        <div id="banner">123</div>
      <input type="text" value="123" id="in" />
     </BODY>
    </HTML>
      

  11.   

    OK,学到了,谢谢jol_boy,BeenZ,smyaqq,和kingwolf_JavaScript!!!