jQuery可见性过滤选择器

:hidden Selector

选择所有被隐藏的元素

元素可以被认为是隐藏的几个原因:

1.CSS的displaynone的元素

2.表单中type=“hidden”的元素

3.width和height被明确设置为0

4.祖先节点元素是hidden,因此这些元素也不会在页面显示


元素visibility:hidden 或者opacity:0被认为是可见的,因为他们仍然占据着布局的空间。通过动画(这也是我们下面要将的jQuery的使用)隐藏一个元素,这个元素直到动画结束时,才能被认为是可见的。在动画中展现一个元素,这个元素从动画开始就被认为是可见的。

HOW:hidden什么时候是被隐藏的判断被在jQuery1.3.2中修改。一个元素被隐藏,如果它或的祖先在文档中不占据空间。CSS 中的visibility没有被考虑(因$(elem).css('visibility','hidden').is(':hidden') == false).发版本里会指出更多的细节。


附加:因为:hidden是jQuery的扩展,不是CSS规范的一部分,查询的时候使用:hidden就不能够很好的利用本地DOM提供的querySelectorAll()方法。为了更好的使用:hidden来选择元素,首先选择元素使用纯粹的CSS选择器,然后再使用.filter(":hidde").


:visible Selector

选择所有可见的元素

在文档中占据空间的元素会被认为是可见的,可见的元素width和height的值大于0。

visible的使用注意事项同上附加类似!



<script>
//选择所有的hidden元素,并给hidden的 input元素计数
// 在一些浏览器中 :hidden包括 head, title, script等等
var hiddenEls = $("body").find(":hidden").not("script");
$("span:first").text("Found " + hiddenEls.length + " hidden elements total.");
$("div:hidden").show(3000);
$("span:last").text("Found " + $("input:hidden").length + " hidden inputs.");
</script>
<script>
//让所有的可见div元素单击时改变成yellow颜色
 $("div:visible").click(function () {
      $(this).css("background", "yellow");
    });
    $("button").click(function () {
      $("div:hidden").show("fast");
    });
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值