jQuery计算表中元素的正确偏移量的方法
问题描述:
我已经给出了一个基于表格的布局,我需要在表格中包含的某些输入框上面显示一些工具提示。jQuery计算表中元素的正确偏移量的方法
我不能使用任何偏移属性来做到这一点,因为当元素包含在表中时,它们全都返回1。 jQuery或其他库有没有一种计算方法?
答
offset
method怎么样,它返回元素的像素偏移量(相对于文档)?
var offset = $('input', myTableRow).offset();
// access offset.left and offset.top properties
您可以使用此值在同一地点定位其他元素:
$(myTooltipElement).appendTo(document.body).css(offset)
答
试试这个:
var offset = $(myobject).position().left;
$(mytooltip).css('left',offset + 'px');
当然,你得有工具提示的位置设置定义为绝对和顶部(或底部)位置。
+0
为什么你不得不为IE设置'top'为零? – 2009-09-11 21:37:22
+0
哎呀我搞砸了,我的意思是它需要被定义 - 我正在考虑其他事情IE做LOL。 – Mottie 2009-09-11 22:06:28
@Roatin虽然我有一个问题,假设它不是只包含在一张表中......说它包含在大约5或6层的表格中(感谢firebug!),那么你如何计算它? – leeand00 2009-09-11 19:45:37
哦,等等,我知道......我只是不断传递元素吧? – leeand00 2009-09-11 19:46:13
不知道我知道你的意思。到正确的元素归结为使用正确的选择器。在我的答案中,实际上可以找到所有'输入'元素内部的任何**,甚至嵌套在另一个表内的表内。您需要对其进行更改以获取所需的确切输入。 – 2009-09-11 20:04:14