返回介绍

:visible Selector

发布于 2017-09-11 17:17:22 字数 1836 浏览 1123 评论 0 收藏 0

所属分类:选择器 > jQuery 扩展 | 选择器 > 可见性过滤

visible selector

描述: 选择所有可见的元素。

  • 添加的版本: 1.0jQuery( ":visible" )

如果元素中占据文档中一定的空间,元素被认为是可见的。可见元素的宽度或高度,是大于零。

元素的visibility: hiddenopacity: 0被认为是可见的,因为他们仍然占用空间布局。

不在文档中的元素是被认为隐藏的;jQuery没有办法知道他们是否是可见的,因为元素可见性依赖于适用的样式。

隐藏元素上做动画,元素被认为是可见的,直到动画结束。显示元素上做动画,在动画的开始处该元素被认为是可见的。

:visible的计算方法是在jQuery 1.3.2改变。 发行说明中列出更详细的变化。

Additional Notes(其他注意事项):

  • 因为:visible 是一个 jQuery 延伸出来的选择器,并不是的CSS规范的一部分,使用:visible 查询不能充分利用原生DOM提供的querySelectorAll() 方法来提高性能。为了当使用:visible 的时候在现代浏览器上获得更佳的性能,首先使用纯CSS选择器选择元素,然后使用.filter(":visible")代替.

例子:

在所有可见的 div 上添加事件,当点击后变成黄色。

<!DOCTYPE html>
<html>
<head>
  <style>
  div { width:50px; height:40px; margin:5px; border:3px outset green; float:left; }
  .starthidden { display:none; }
  </style>
  <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
  <button>Show hidden to see they don't change</button>
  <div></div>
  <div class="starthidden"></div>
  <div></div>
 
  <div></div>
  <div style="display:none;"></div>
<script>
    $("div:visible").click(function () {
      $(this).css("background", "yellow");
    });
    $("button").click(function () {
      $("div:hidden").show("fast");
    });
 
</script>
 
</body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文