Ah. This is actually a CSS problem. Your element should just use position: absolute. When positioning your element absolutely, properties like left and top are relative to the origin (upper-left corner) of the nearest ancestor that has a non-static position (i.e. uses something other than the default position: static).
Of course, absolutely positioning your element has other consequences, such as removing it from the normal flow of content, and having margins that no longer collapse. If you need to use relative positioning, you will need to leverage jQuery.position() or jQuery.offset(), and do some math to move the element to the desired location.