$('className')。offset()。top返回奇怪的值

时间:2014-09-12 08:02:32

标签: jquery

当我在控制台中调用$('classNameA').offset().top时,它会返回一个值1236,当我执行position = $('classNameA').offset().top然后在控制台中输出position时,它会显示1109有两个名为classNameA的元素,如果我$('classNameA:first-child').offset().top$('classNameA:last-child').offset().top,则分别输出1236和1341。任何人都知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

  

当我在控制台中调用$('classNameA').offset().top时,它会返回一个值1236,当我执行position = $('classNameA').offset().top然后在控制台中输出position时,它会显示1109。

所有这些意味着在这两个实验之间,发生了一些改变了第一个.classNameA元素位置的事情。

  

有两个名为classNameA的元素,如果我$('classNameA:first-child').offset().top$('classNameA:last-child').offset().top,它分别输出1236和1341。

这告诉你,.classNameA也是其父亲中的第一个孩子是1236,.classNameA也是其父母的最后一个孩子(显然是另一个孩子) 1341。

如果您使用Chrome,则可以执行以下操作:在控制台中,键入$(".classNameA")并按Enter键。这将列出控制台中的匹配元素。如果右键单击列出的任何元素,您将获得一个菜单,其中包含“在元素中显示”面板选项。选择该选项会将您带到选中该特定元素的Elements面板,这样您就可以检查其各种属性(包括其位置),查看它相对于其他元素的位置等,