<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题文档</title> <script type="text/javascript">
window.onload=function()
{
//在ie上取到的是5,可在火狐上取到的是 284,这差距也太大了把??
//offsetLeft 不是取这个元素距父元素的左边距离吗??

alert(document.getElementById("borderDivII").offsetLeft);
};
</script>
</head><body>
   <div style="float:left;width:270px;height:200px">
      d
   </div>
                
   <div style="float:left;width:460px;height:200px;border:cyan solid 1px;">
      <div id="borderDivII" style="width:98%;height:50px;border:gray Dashed 1px;margin:5px 5px 5px 5px;"></div>
   </div>     
</body>
</html>
//在ie上取到的是5,可在火狐上取到的是 284,这差距也太大了把??
//offsetLeft 不是取这个元素距父元素的左边距离吗??

解决方案 »

  1.   

    难道跟 float:left; 有关,那要怎么改啊?
      

  2.   

    offsetTop
    获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算顶端位置。offsetLeft
    获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。offsetHeight
    获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度。
    IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。 
    NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。offsetWidth
    获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的宽度。offsetParent
    获取定义对象 offsetTop 和 offsetLeft 属性的容器对象的引用
      

  3.   


    我怎么指定 offsetParent 属性啊
      

  4.   

    http://www.cnblogs.com/panjun-Donet/articles/1294033.html
    你看看这里面介绍的你就会明白怎么回事
      

  5.   

    <div>
    <div id="ddd"></div>
    </div>我这样写的话,获取 id为ddd 的div 的 offsetParent 都是body 为什么?(IE和火狐一样)
      

  6.   

    IE:
    var op = document.getElementById("borderDivII");
    var oleft = op.offsetLeft;
    while(op.offsetParent!=null){
        op = op.offsetParent;
        oleft += op.offsetLeft;
    }
    alert(oleft);
      

  7.   

    因为DIV的容器就是BODY,你没看我给你发的那个文章?
      

  8.   

    这里我说的有点歧义了,应该说你的DIV的容器是BODY
      

  9.   


    id 为ddd的div父容器是div!!!看了你的文章,好像跟div的定位有关
      

  10.   

    我获取值的时候能不能指定 offsetParent 属性 啊?