javascript - jquery追加元素位置始终为0

标签 javascript jquery

我正在使用jquery的append()方法,将元素(div)添加到父元素(div)。

当调用父div的偏移函数时,我得到了它的相对位置。当我调用子元素时,我得到 0 作为其相对位置(顶部和左侧)

有人知道如何解决这个问题吗?如何获取动态添加的div的位置?

var $grid = $('#myDiv');
$grid.empty()
$grid.append("<div id="newDiv">...")
console.log($("#newDiv").position())

输出:顶部:0 左侧:0

(它显示当前滚动条距顶部的偏移量)

最佳答案

返回值正确。来自 jquery documentation for .position() :

Get the current coordinates of the first element in the set of matched elements, relative to the offset parent.

除非它有样式,否则它总是在 0,0。

您可能想使用.offset()相反。

关于javascript - jquery追加元素位置始终为0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28408021/

相关文章:

javascript - Javascript 中的替代注释方法

javascript - 如何将文本图编码为json?

javascript - Bootstrap 轮播缩放过渡

javascript - MooTools 和 JQuery 并排

javascript - 使用 Q,js 进行 ajax 调用

使用实时事件进行 jQuery 拖放

javascript - Connect-mongo 更新导致持续错误 : TypeError: Cannot read property 'Store' of undefined

javascript - 异步/等待正确的错误处理

javascript - 如何获取当前点击元素的ID

javascript - 无法弄清楚为什么 jQuery UI Datepicker 不将日期插入输入