在table 中的标签为什么无法获得标签的位置

大家好 RT

 

 

    如果我把一个文本框放在Table中,当文本框获得光标时,我要获得这个文本框在document 中的位置

 

     timeID 是这个文本框的ID;

    var y=timeID.offsetTop;
    var x=timeID.offsetLeft+timeID.offsetWidth;

 

为什么我这么写 获得的是 0 或者是1 但是在 Table外的标签 都能准确的获得。。

 

不知道这是什么情况。。。请大侠们请教~~~!!!!

函数:
[code="js"]
function getXY(elementId){
var e = document.getElementById(elementId);
var x = e.offsetLeft, y = e.offsetTop;

while(e=e.offsetParent){
x += e.offsetLeft;

y += e.offsetTop;
}
var msg = "X:" + x + "\tY:" + y;
alert(msg);
}
[/code]

用例:
[code="html"]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



无标题文档 function getXY(elementId){ var e = document.getElementById(elementId); var x = e.offsetLeft, y = e.offsetTop; while(e=e.offsetParent){ x += e.offsetLeft; y += e.offsetTop; } var msg = "X:" + x + "\tY:" + y; alert(msg); }


[/code]

你这个获取的是文本框相对于表格的相对位置大小

这样如何:

var y=timeID.offsetTop+table_id.offsetTop;
var x=timeID.offsetLeft+timeID.offsetWidth+table_id.offsetLeft;

你直接拷贝方法测试吧。用例里代码有点问题。