1

我的目标是将下拉列表放入单元格中。

var obj = document.getElementById('dropdown');
var coords = { x: 0, y: 0 };
var element = this;
while (element)
{
 coords.x += element.offsetLeft;
 coords.y += element.offsetTop;
 element = element.offsetParent;
}
obj.style.left = coords.x+'px';
obj.style.top = coords.y+'px';

但是,这无法找到准确的位置。如何解决?

4

1 回答 1

1

这种方法应该可以完美地工作,也许是其他东西弄乱了定位?

如果您有一个带有 styleposition: relative的元素,则添加到带有 styleposition: absolute的元素的元素仍然相对于该元素。如果您尝试仅通过查看偏移量然后向上走(忽略任何相对定位的元素)来确定元素的位置,您将无法获得正确的值。您应该找到具有相对定位的最接近的公共元素并获得该元素的偏移量。

于 2012-04-21T16:00:42.727 回答