Javascript IE中带有父元素的偏移问题

Javascript IE中带有父元素的偏移问题,javascript,internet-explorer,dom,offset,Javascript,Internet Explorer,Dom,Offset,在div中有一个输入字段。当我将div的style属性设置为display:none时,div中的输入必须返回offsetTop==0。这是FF、Opera、Safari和其他游戏中的情况,但不是IE 经过几个小时的研究,我没有找到一种方法来检查嵌套元素在IE中是否可见 p、 这就是人们使用Javascript框架的原因 以下是我如何在jQuery中检查这一点: $(element).is(":visible") 如果没有jQuery,我认为您可以: element.style.display

在div中有一个输入字段。当我将div的style属性设置为display:none时,div中的输入必须返回offsetTop==0。这是FF、Opera、Safari和其他游戏中的情况,但不是IE

经过几个小时的研究,我没有找到一种方法来检查嵌套元素在IE中是否可见


p、 这就是人们使用Javascript框架的原因

以下是我如何在jQuery中检查这一点:

$(element).is(":visible")
如果没有jQuery,我认为您可以:

element.style.display === "none"

能否提供代码示例某些IE构建将节点的parentNode作为offsetParent而不是body标记。我认为浏览器不必返回0。我认为这种边缘情况在规范中有定义,浏览器会按照他们认为合适的方式去做。我的猜测是IE缓存了渲染信息,因此当您删除显示时:无元素可以更快地绘制。请用其他方法处理它。不幸的是,我使用的是Prototype.js,其可见性方法不支持嵌套元素的这种行为。