ie6,经测试,body的offsetParent是空,而body内的其它直接子元素的offsetParent则是html而不是body,请问这是什么原因?
解决方案 »
- 强大的JavaScript模拟Alert功能插件~~扩散分享~~
- position:fixed固定后怎么获取元素坐标?
- EXTJS gridpanel 添加一行统计值
- js tab 切换求助
- 调用一个方法时,后面加了return false;是什么意思
- script修改color问题
- 用document.write写script标记无效
- java里有没有转换16进制到10进制,10进制转换成16进制的函数
- 关于返回值的问题,请看?????????????
- 如何禁止用户将图片拖到IE地址栏显示该图片在缓存中的图片。
- 在JAVASCRIPT中,怎么得到当前窗口句柄?〉
- 怎么阻止SELECT出现下拉列表框?非常急切的!
不过很奇怪的是为什么body内的子元素的offsetParent指到html去了,而body自己的offsetParent却是空的,这样在向上累加offsetLeft/offsetTop计算元素位置的时候就不统一了...
Note In Microsoft® Internet Explorer 5, the offsetParent property returns the TABLE object for the TD object; in Microsoft® Internet Explorer 4.0 it returns the TR object. You can use the parentElement property to retrieve the immediate container of the table cell.对于IE 5.0以上,TD的offsetParent返回Table。但是msdn并没有讨论在页面td元素中存在绝对/相对定位时offsetParent的值。 以下是我个人总结的规律 在td中的元素会把第一个绝对/相对定位的hierarchy parent当作offsetParent,如果没有找到需要分三种情况讨论 一,如果该元素没有绝对/相对定位,则会把td当作offsetParent 二,如果该元素绝对/相对定位并且table没有绝对/相对定位,则会把body当作offsetParent 三,如果该元素绝对/相对定位并且table绝对/相对定位,则会把table当作offsetParent 看一下示例代码1.<BODY >
<TABLE BORDER=1 ALIGN=right>
<TR>
<TD ID=oCell><div id="parentdiv" style="position:relative" >parentdiv<div id="sondiv">sondiv</div></div></TD>
</TR>
</TABLE>
运行结果parentdiv.offsetParent.tagName IS "body" sondiv.offsetParent.id IS "parentdiv" 2.<BODY >
<TABLE BORDER=1 ALIGN=right>
<TR>
<TD ID=oCell><div id="parentdiv" style="position:relative" >parentdiv<div id="sondiv" style="position:relative">sondiv</div></div> </TD>
</TR>
</TABLE> 运行结果parentdiv.offsetParent.tagName IS "body" sondiv.offsetParent.id IS "parentdiv"3.<BODY >
<TABLE BORDER=1 ALIGN=right>
<TR>
<TD ID=oCell><div id="parentdiv" >parentdiv<div id="sondiv" style="position:relative">sondiv</div></div> </TD>
</TR>
</TABLE>
运行结果parentdiv.offsetParent.tagName IS "TD" sondiv.offsetParent.tagName IS "body"4.<BODY >
<TABLE BORDER=1 ALIGN=right>
<TR>
<TD ID=oCell><div id="parentdiv" >parentdiv<div id="sondiv">sondiv</div></div></TD>
</TR>
</TABLE>
运行结果parentdiv.offsetParent.tagName IS "TD" sondiv.offsetParent.tagName IS "TD"5.<BODY >
<TABLE BORDER=1 ALIGN=right style="position:relative">
<TR>
<TD ID=oCell><div id="parentdiv" style="position:relative" >parentdiv<div id="sondiv" style="position:relative">sondiv</div></div> </TD>
</TR>
</TABLE> 运行结果parentdiv.offsetParent.tagName IS "Table" sondiv.offsetParent.tagName IS "parentdiv"