如何使用Javascript获取DIV元素的top(如在locale中)属性?

如何使用Javascript获取DIV元素的top(如在locale中)属性?,javascript,css,dom,Javascript,Css,Dom,我在HTML页面中有一个组DIV标记,其位置通过几个父/祖父母DIV控制。这些父母和祖父母的位置是通过CSS类控制的。我需要检索给定DIV的top属性。它在DOM中的什么位置,或者如何使用Javascript计算它 澄清:我需要DIV对象顶部的绝对坐标值(相对于窗口)。这将为您提供顶部和左侧: myDiv.offsetY myDiv.offsetX 由于并为您提供相对位置值,您可以通过向上遍历s树,聚合每个父元素的offsetTop和offsetLeft值来获得绝对值: function f

我在HTML页面中有一个组DIV标记,其位置通过几个父/祖父母DIV控制。这些父母和祖父母的位置是通过CSS类控制的。我需要检索给定DIV的top属性。它在DOM中的什么位置,或者如何使用Javascript计算它



澄清:我需要DIV对象顶部的绝对坐标值(相对于窗口)。

这将为您提供顶部和左侧:

myDiv.offsetY
myDiv.offsetX
由于并为您提供相对位置值,您可以通过向上遍历s树,聚合每个父元素的
offsetTop
offsetLeft
值来获得绝对值:

function findPos(obj) {
  var curleft = curtop = 0;
  if (obj.offsetParent) {
    do {
      curleft += obj.offsetLeft;
      curtop += obj.offsetTop;
    } while (obj = obj.offsetParent);
    return [curleft,curtop];
  }
}

更详细的信息:

不,没有。您的意思是
offsetLeft
/
offsetlight
?offsetY和offsetX都未定义。@crescentfresh。。。offsetLeft是一个相对值,不是绝对值(我需要),OffsetLight是未定义的。。。它是复制品。我也投票决定关闭。我并没有删除它,因为其他人可能无法通过搜索找到其他问题(也就是我遇到的问题)。我也发现了这个问题。这几乎是我所需要的。有没有办法考虑滚动?不仅仅是窗口滚动(window.scrollY),还包括带有scroll:auto属性的DIVs?