【问题标题】:jQuery method of calculating the correct offsetLeft of an element in a table计算表格中元素的正确 offsetLeft 的 jQuery 方法
【发布时间】:2009-09-11 18:56:48
【问题描述】:

我得到了一个基于表格的布局,我需要在表格中包含的一些输入框上方显示一些工具提示。

我不能使用任何偏移属性来执行此操作,因为当元素包含在表中时它们都返回 1。 jQuery 或其他一些库是否有计算方法?

【问题讨论】:

    标签: javascript jquery offset


    【解决方案1】:

    offset method 呢,它返回元素的像素偏移量(相对于文档)?

    var offset = $('input', myTableRow).offset();
    // access offset.left and offset.top properties
    

    您可以使用此值将其他元素定位在同一位置:

    $(myTooltipElement).appendTo(document.body).css(offset)
    

    【讨论】:

    • @Roatin 我有一个问题,假设它不只是包含在一个表中......说它包含在大约 5 或 6 层表中(感谢萤火虫!),那么你如何计算是吗?
    • 不确定我明白你的意思。找到正确的元素归结为使用正确的选择器。我的答案中的那个实际上会在该tr anywhere 中找到所有input 元素,甚至嵌套在另一个表内的表内。您需要对其进行更改以获得所需的准确输入。
    【解决方案2】:

    试试这个:

    var offset = $(myobject).position().left;
    $(mytooltip).css('left',offset + 'px');
    

    当然,您必须将工具提示的位置设置为绝对位置并定义顶部(或底部)位置。

    【讨论】:

    • 为什么必须将 IE 的 top 设置为零?
    • 哎呀,我搞砸了,我的意思是它需要定义 - 我在考虑 IE 做的其他事情 LOL。
    猜你喜欢
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多