当前位置: 首页 > 面试题库 >

如何通过javascript检查元素的可见性?

龙承德
2023-03-14
问题内容

我对一种检查元素是否具有display:none样式显式性(即style =“
display:none”),具有(或继承)此样式的类,或其父项是否被隐藏的方式感兴趣(并且我的元素继承了这个)

情况1:

<body><div><span style="display:none;">Some hidden text</span></div>

要么

<body><div style="display:none;"><span>Some hidden text</span></div>

情况2:

SomeClass {   display:none;   }
<body><div class="SomeClass"><span>Some hidden text</span></div>

谢谢,


问题答案:

您正在寻找一种针对两种不同情况的解决方案。

第二种情况是检测某个元素的 父级 是否被隐藏。这需要遍历并且麻烦且缓慢。

/ Sizzle使用),然后阅读元素的尺寸:

var isVisible = element.offsetWidth > 0 || element.offsetHeight > 0;

如果它具有尺寸,则从某种意义上来说是可见的,它占据了文档中的一些矩形空间(但是很小)。请注意,对于某些浏览器中的某些元素,此技术仍具有一些缺点,但在大多数情况下应该可以使用。



 类似资料:
  • 问题内容: 我正在通过AJAX加载元素。仅当您向下滚动页面时,其中一些才可见。 我有什么办法可以知道某个元素现在是否位于页面的可见部分? 问题答案: 这应该可以解决问题: 简单的实用程序功能 这将允许您调用一个实用程序功能,该功能接受您要查找的元素,并且您希望该元素完全可见还是部分可见。 用法

  • 问题内容: 随着selenium2.0a2我有麻烦检查如果一个元素是可见的。 返回,不幸的是没有提供方法。我可以使用或两者都抛出一个来解决这个问题,但这感觉很脏。 还有更好的主意吗? 问题答案: 应该管用。

  • 问题内容: 在JavaScript中,如何检查元素是否实际可见? 我不仅仅是指检查and 属性。我的意思是,检查该元素是否不是 要么 在另一个元素下面 滚动到屏幕边缘 由于技术原因,我不能包含任何脚本。但是我可以使用Prototype,因为它已经在页面上了。 问题答案: 对于重点2。 我发现没有人建议使用,对我来说,这是测试某个元素是嵌套还是隐藏的最快方法。您可以将目标元素的偏移量传递给函数。 这

  • 本文向大家介绍如何检查可见DOM中是否存在元素?,包括了如何检查可见DOM中是否存在元素?的使用技巧和注意事项,需要的朋友参考一下 我们可以使用Node.contains方法执行此检查。Node.contains()方法返回一个布尔值,该值指示节点是否为给定节点的后代,即节点本身,其直接子级(childNodes)之一,子级的直接子级之一,依此类推。 示例 例如,您要查找具有id test的元素,

  • 问题内容: 我正在尝试使用量角器测试元素是否可见。元素的外观如下: 在chrome控制台中时,我可以使用此jQuery选择器测试该元素是否可见: 但是,当我尝试在量角器中执行相同操作时,在运行时出现此错误: 为什么这无效?如何使用量角器检查可见性? 问题答案: 应该这样做: 记住量角器的不是jQuery和不_尚_的一部分提供CSS选择器+伪选择

  • 我有一对夫妇的变量,我想保存或不保存到数据库取决于是否我已经设置为隐藏/可见的javascript函数,我已经搜索了一段时间,但找不到任何东西。谢谢!