Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE7是否错误地报告了“的计算值”;职位;?_Javascript_Css_Positioning_Internet Explorer 7 - Fatal编程技术网

Javascript IE7是否错误地报告了“的计算值”;职位;?

Javascript IE7是否错误地报告了“的计算值”;职位;?,javascript,css,positioning,internet-explorer-7,Javascript,Css,Positioning,Internet Explorer 7,我正在尝试使用JavaScript查找元素最接近的“定位”父元素。它适用于除IE7之外的所有浏览器。问题在于元素.currentStyle['position']正在返回static,即使它在样式表中被明确定义为relative 有人能解释一下这一点并提出解决方案吗 编辑以更正IE7返回的静态,即使是相对定位的元素。尝试 element.currentStyle.position //I tried it and worked for me 如果您不反对使用jQuery,这应该是可行的 演示:

我正在尝试使用JavaScript查找元素最接近的“定位”父元素。它适用于除IE7之外的所有浏览器。问题在于
元素.currentStyle['position']
正在返回
static
,即使它在样式表中被明确定义为
relative

有人能解释一下这一点并提出解决方案吗

编辑以更正IE7返回的
静态
,即使是相对定位的元素。

尝试

element.currentStyle.position //I tried it and worked for me

如果您不反对使用jQuery,这应该是可行的

演示:


你说得对。我可以访问currentStyle.position属性,但即使对于相对定位的元素,它也会返回
static
。所有元素都有一个默认位置,因此基本上您要查找父元素的位置值?是的,没错。我正在使用递归函数不断向上遍历祖先,直到它碰到一个位置不是静态的元素。我可以得到
位置
值,但它报告的是
静态
,而不是
相对
@mariachimike,我在IE7和IE6中测试过。jQuery库可能比原始Javascript更好地支持跨浏览器。
var count = 0;
while ($('.x').parents().eq(count).css('position') != 'relative') count++;
alert( $('.x').parents().eq(count).attr('id') );