Object 当任何父对象在使用java脚本的HTML页面中不可见时,我如何知道对象不可见?

Object 当任何父对象在使用java脚本的HTML页面中不可见时,我如何知道对象不可见?,object,parent-child,visible,Object,Parent Child,Visible,假设我在HTML页面中有一个文本框,如下所示 <DIV style = "display:none;"> <DIV style = "display:inline;"> <INPUT type = "text" style = "display:inline;"> </DIV> </DIV> 在这种情况下,用户将看不到文本框。如何识别用户当前看不到的文本 不要这么说,我应该去父对象看看它们是否设置为不可见。

假设我在HTML页面中有一个文本框,如下所示

<DIV style = "display:none;">
   <DIV style = "display:inline;">
      <INPUT type = "text" style = "display:inline;">
   </DIV>
</DIV>

在这种情况下,用户将看不到文本框。如何识别用户当前看不到的文本

不要这么说,我应该去父对象看看它们是否设置为不可见。我有很多字段需要像这样进行验证,这会降低应用程序的性能

由于用户看不到此对象,是否有其他方法可以找到


提前感谢。

如果您不需要纯JavaScript,我建议使用jQuery。使用:visible或:hidden选择器将实现您想要的:

if ( $('yourElement').is(":hidden") ) {
    // The element is not visible
}

如果您需要纯JavaScript,并且不想遍历每个祖先元素,那么可以尝试检查元素的offsetWidth和offsetHeight。如果该元素由于祖先元素而隐藏,则它们都应为0。注意:我一直在使用jQuery,所以我不知道这有多可靠

var yourElement = document.getElementById('yourElementsId');

if ( yourElement.offsetWidth == 0 && yourElement.offsetHeight == 0) {
    // The element is not visible
}