jquery position()和表

hlswsv35  于 2023-06-22  发布在  jQuery
关注(0)|答案(4)|浏览(121)

这怎么可能不提醒0(而是提醒50)呢?
我需要td相对于table的位置
http://jsfiddle.net/vxVCE/
HTML:

<div style="height:40px"></div>
<div>
    <table id="tbl">
        <tr>
            <td id="td1">linje 1</td>
        </tr>
        <tr>
            <td id="td2">linje 2</td>
        </tr>
    </table>
</div>

JS:

var elm = $('#td1');
var position = elm.position();
alert(position.top);

edit:我需要tr相对于表的位置:)

vngu2lb8

vngu2lb81#

position: relative;添加到表中。这样做将使其警报为0。否则,它将查找相对于文档的位置。

6qftjkof

6qftjkof2#

因为在最上面是而不是--所以它是而不是
正文的填充为10px
表上方的div的高度为40px
因此,它会发出警报“50”(10 + 40 = 50

dsekswqp

dsekswqp3#

@Neal很好地解释了为什么它给出了50。下面是第二部分:
要获得相对于目标表的位置,请从td顶部减去表的顶部:

alert(position.top - $('#td1').closest('table').position().top);

演示:http://jsfiddle.net/mrchief/vxVCE/1/

  • 注意:* 根据您的HTML/CSS,您可能需要使用表的offset
alert(position.top - $('#td1').closest('table').offset().top);
bjg7j2ky

bjg7j2ky4#

为了添加相对于table的位置,还需要将其添加到tbody(如果有)

相关问题