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

标签 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);

最佳答案

您需要定位表格,而不是正文:

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

table {position: relative;}

另请参阅 position() and tables

关于jquery .position() 在 Chrome 中返回 .offset(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24254267/

相关文章:

javascript - 在发布到 Facebook 之前通过缩略图进行分页的 jQuery 解决方案

Jquery 滑动切换中断

java - 读取和插入 Chrome Cookies Java

jquery - div 中 Masonry 的 Pinterest 效果被破坏

javascript - 使用 javascript/jquery 删除字符串的开头

google-chrome - Chrome "Active content with certificate errors"

javascript - 为什么 Chrome 会阻止我在网站上的滑动尝试?

html - Chrome 和 Firefox 中可折叠元素的不同行为

javascript - 堆栈中视频元素的加载之间存在明显的延迟

google-chrome - 让 fiddler 使用 chrome