jquery - 计算位置而不考虑包含 block

标签 jquery html css

我有一个 <table>一对内<div>标签:

<div class=outer>
  <div class=inner>
    <table>
      <tbody>
        <tr><td>col1</td><td>col2</td></tr>
        <tr><td>col1</td><td>col2</td></tr>
      </tbody>
    </table>
  </div>
</div>

如果使用 jQuery 的 $.fn.position 获取一行的位置功能:

console.log($('tr:first').position().top);

它会根据我是否设置 div.inner 返回不同的值至 position: relative (example)。我相信这是因为该行的 containing block每种情况都不同。

无论div.inner如何,我都需要计算行相对于主体的位置的位置设置为 relative .有没有一种优雅的方法来完成这个?或者我需要提升 DOM 树,检查每个祖先是否是 position: relative ,并在此基础上添加一个偏移量?

最佳答案

我认为你是 console.log($('tr:first').offset().top);

关于jquery - 计算位置而不考虑包含 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10338471/

相关文章:

javascript - jQuery .slideToggle – 以某种方式被多次触发

jQuery - 选择给定行的第一个单元格?

javascript - jQuery 就像独立的 ajax 库

css - 相对定位伪元素与绝对定位伪元素的区别

javascript - 快速滚动离开悬停触发的弹出窗口不会隐藏弹出窗口

c# - 多个选项卡中的 MVC 表单验证 - 自动跳转到有验证错误的选项卡?

html - Flexbox:水平和垂直居中

html - 容器流体未居中

模态窗口上的 CSS 未对齐

html - 在显示器内使用相对位置 :table-cell in Firefox. 包装器解决方案防止垂直对齐:中间