我为$(el).css('left')
和$(el).position().left
获得的值是不同的?
如果我转到$(el).css('left', '100px')
,那么$(el).css('left')
会返回110px
而不是100px
(是的,它总是多出10%),如果我评估{{1} },它给了我$(el).position().left
。
为什么Chrome会以这种方式运行?您可以使用100
属性查看这将如何影响jQuery动画。
我在Ubuntu上使用Chrome 21.0.1180.57。
编辑1:似乎只影响Chrome,FF 14.0.1给了我相同的值。
答案 0 :(得分:19)
left
返回CSS left属性的计算值。
position().left
返回相对于元素的第一个偏移父级的x坐标。
这些值can be equal,它们可以是not equal。
由于渲染不同, position().left
也很容易different between browsers,而.css("left")
只能在给定的单位中有所不同,如果是这样的话。
答案 1 :(得分:3)
试试这段代码:
$("#div")[0].style.left