为什么style.left没有在Javascript中返回值?

时间:2012-04-02 14:25:48

标签: javascript

我正在尝试检查div的左坐标,但它没有返回任何值。当我尝试检查alert()中的左侧值时,它显示一个空白。你能帮帮忙吗?

浏览器是Firefox 8.0

3 个答案:

答案 0 :(得分:3)

这只会为您提供CSS属性left。如果您想获得它的实际坐标,请使用getClientRects

var rects = document.getElementById("#myDiv").getClientRects(); //This returns a set of rectangles representing the element
var rect = rects[0]; //There is usually only 1 rectangle
alert(rect.left);

请注意,您不应使用alert进行调试。这就是console.log的用途。如果安装了Firebug,则可以在Chrome控制台或Firefox中查看输出。 alert可能会误导,因为它会格式化某些内容。使用它也更烦人。

答案 1 :(得分:1)

我认为那是因为您在css中设置了该值而不使用内联样式属性。您应该使用getComputedStyle()

答案 2 :(得分:0)

可能是因为您未在style.left 属性中设置left或设置CSS style属性

element.style直接映射到style属性。它没有给你计算样式。

请参阅getComputedStyle。如果您想查看左侧位置,而不是CSS left属性的值,请参阅offsetLeft