jquery .position()在chrome中返回.offset()

时间:2014-06-17 00:53:13

标签: jquery google-chrome

我有一张头部和身体的桌子,我想回到桌子顶部的特定行的位置。我已将表格的 tbody 设置为position:relative并使用 $ .position()方法来回读位置。这可以像我在Firefox中预期的那样工作,但Chrome似乎忽略了偏移父项并相对于整个文档返回。见下文和http://jsfiddle.net/CmMz8/

HTML

<table>
    <thead>
        <tr><th>header</th></tr>
    </thead>
    <tbody>
        <tr id="test"><td>row 1</td></tr>
        <tr><td>row 2</td></tr>
    </tbody>
</table>
Position: <span id="pos"></span> Offset: <span id="off"></span>

CSS

tbody {
    position: relative;
}

JS

var pos = $('#test').position().top;
var off = $('#test').offset().top;
$('#pos').text(pos);
$('#off').text(off);

1 个答案:

答案 0 :(得分:1)

你需要定位表,而不是tbody:

http://jsfiddle.net/isherwood/CmMz8/3

table {position: relative;}

另请参阅 position() and tables