有JSP文件一个,名为aaa
在JSP文件中 引用了一个JS文件
<script type="text/javascript" src="../javascript/menu.js"></script>
在JS文件中,有这样一个函数:
function getposition(){
         var aa = document.getElementById("div1").style.left
   alert(aa);
}
结果接不到aa
而直接把getposition()函数写到JSP页面里就能获取到请问有什么方法能在被引用的menu.js文件中获取到document.getElementById("div1").style.left的值?

解决方案 »

  1.   

    本来就可以,只所以不可以是因为你执行js的时候dom结构还没有生成
    你可以用“deffer”设置你的外引js在文档生成后再执行
    <script type="text/javascript" src="../javascript/menu.js" deffer="deffer"></script>
      

  2.   

    写了 deffer="deffer"  依然没用...
    在引用的JS文件里这样写
    function getposition(){
    alert("111");var aa = document.getElementById("div1").style.left;alert(aa);document.getElementById("div1").style.left = 50;aa = document.getElementById("div1").style.leftalert(aa);
    }
    这样写的结果就是弹出
    11

    50
    而且DIV得位置变成了50开头
    也就是说document.getElementById("div1").style.left = 50;命令语句好用
    var aa = document.getElementById("div1").style.left  查询语句无效...
    怎么办
      

  3.   

    什么浏览器?ff不支持deffer的function getposition(){
    var aa = document.getElementById("div1").style.left;alert(aa);document.getElementById("div1").style.left = 50;aa = document.getElementById("div1").style.leftalert(aa);
    }document.onload=function(){getposition()}
      

  4.   

    就是IE,支持的,我刚才弄错了...
    我发现了一个重要问题,就是直接放在页面里也刷不出document.getElementByID("div1").style.left的值.......
    因为DIV1的样式我写到CSS文件里了,这个页面不但引用了JS文件 还引用了CSS文件
    <link rel="stylesheet" type="text/css" href="../css/menu.css">如果想引用CSS里的DIV的参数值  有什么好方法吗?
      

  5.   

    ie中如果初始没有设置left的话,直接获取到的是undefined,必须先设置,可以在css文件中写,获取方法一样的