<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>processFile</title>
  <link rel="stylesheet" type="text/css" href="css/processFile.css" />
</head>
<body> <script src="js/test.js" type="text/javascript" charset="utf-8" ></script> <!--存放源数据的js文件-->
<script type="text/javascript">
var transPart=document.getElementById("transmitBtn");
alert(transPart);
var srcContent=document.getElementById("srcFile");
alert(srcContent);
var properties=document.getElementById("properties"); </script>
<div id="content">
<div id="srcContent">
<div id="srcFile" class="border">
</div>
<div id="properties" class="border">
</div>
</div>
<div id="rstContent">
<input type="button" id="transmitBtn" name="transmitBtn" value="转换!"/>
</div>
</div>
</body>
</html>我尝试了以上代码,为什么三个alert得到的都是null呢?

解决方案 »

  1.   

    因为你alert的时候  还没加载完 取不到  
    你把js放到</body>后面就可以了     
      

  2.   

    js执行顺序问题,你可以把这段JS放到
    window.onload = function(){
    //放到这里
    }或者把js放到页面的最后。
      

  3.   

     <script type="text/javascript">
    window.onload=function(){
        var transPart=document.getElementById("transmitBtn");
        alert(transPart);
        var srcContent=document.getElementById("srcFile");
        alert(srcContent);
        var properties=document.getElementById("properties");
     }
        </script>
      

  4.   

    缺点是有点慢,要等页面全部加载完后才能绑定,不过一般情况下不会有问题。
    另一种做法是使用框架的ready事实,比onload快一点,不过差别基本上可以忽视。