你多利用alert(obj.tagName);alert(obj.id);
来看你传入的obj对象是什么。怀疑你的obj=obj.offsetParent这句话有问题,
具体你再看msdn。看看obj.offsetParent是什么意思。
来看你传入的obj对象是什么。怀疑你的obj=obj.offsetParent这句话有问题,
具体你再看msdn。看看obj.offsetParent是什么意思。
解决方案 »
- jquery1.4_min 为什么下载比网站描述要大?
- 是谁说prototype.js(prototype-1.4.0)是好东西的//我用了一下,快气死了。。
- 如何在ie中禁用JavaScript
- JavaScript 获取如何客户端cpu序列号,硬盘ID,网卡MAC地址的问题?
- 遇到一个问题,不知道怎么表达好,贴一小段代码
- 按自己自定义的时间的顺序排列发布的通告,
- select选中以后如何把相应的id值写到text中
- 求大哥们,jquery一个name选择器的写法。
- "."的问题能解决吗?
- ssm+ajax怎么按条件查询啊大佬们
- iframe的老问题,动态调整,那位大虾有办法,求教(内详)
- 救助:ie 5和ie 6有什么区别。为什么我写的程序在ie 5中会使ie关闭?
var obj=window.document.getElementById(Item.id)
其中的Item代表的是多个文本框的ID变量
在while前的alert(obj);的输出输出值还是object
while后的alert(obj);输出值就是Null了,请问这种情况如何解决呢?
看看是什么
while(obj=obj.offsetParent)
{
t+=obj.offsetTop;
l+=obj.offsetLeft;
}这段代码其实是写的比较精妙的,用于定位html元素在页面中的绝对位置(在网上copy来copy去被用的很多)。请注意看一下,while中间用的代码是obj=obj.offsetParent,是一个赋值语句。所以这句while语句同时完成了两个动作:1.将obj赋值为它的offsetParent;2.判断obj是否为object,是的话执行while循环中的语句。
也就是说,这个循环会不断循环,直到找不到obj的offsetParent为止。这样就能够循环相加得到html元素的绝对位置。循环在结束的时候,obj是必然为null的,因为这个正是循环跳出的条件。所以说,如果你还要利用最初的obj的话,要么就直接引用Item,要么另外定义一个变量来使用。
{
t+=obj.offsetTop;
l+=obj.offsetLeft;
}
你的出错的我还没找到是那里问题,不过要回应一下你上面的问题,上面语句是当obj为null时退出循环,你在while后的alert(obj)当然是null啦。
看看是什么
返回INPUT,TD
==============
ONCLICK=setValue(this,obj)把这里的obj换成Item错误提示是:
Item未定义
==============
在定义一次变量var OBJ=Item;或者 var OBJ=window.document.getElementById(Item.id);
在ONCLICK=setValue(this,OBJ)错误提示是OBJ未定义
============================
function setValue(Item,TXT)
{
//document.all["sel"].style.display='none';
//TXT.value=Item.innerText;
}
这个函数已经不起作用了,错误就是在ONCLICK=setValue(this,OBJ)这里
<DIV ID="sel" STYLE="padding:3;height:40;BORDER: #6699CC 1px solid; POSITION: absolute;width:0;background-color:#F8F8F5;display:none;cursor:default">
</DIV>
改为
ONCLICK=setValue(this,'"+obj.uniqueID+"')obj.uniqueID返回唯一的ID号setValue中引用document.all(obj_id)来得到你要的obj.