举例讲解jQuery中可见性过滤选择器的使用


Posted in Javascript onApril 18, 2016

可见性过滤器
可见性过滤器根据元素的可见性和不可见性来选择相应的元素。

过滤器名 jQuery 语法 说明 返回
:hidden  $(':hidden')  选取所有不可见元素 集合元素
:visible  $(':visible')  选取所有可见元素 集合元素

$('p:hidden).size(); //元素p 隐藏的元素 

$('p:visible').size(); //元素p 显示的元素

注意::hidden 过滤器一般是包含的内容为:CSS 样式为display:none、input 表单类型为type="hidden"和visibility:hidden 的元素。

示例
jQuery的可见性选择器是根据元素的可见和不可见状态来选择相对应的元素。主要有两个:可见:visible和不可见:hidden。今天我们主要来学习这两个选择器的使用。先来看一个HTML结构,方便学习这两个选择器的使用:

<div class="wrap">
 <span></span>
 <div></div>
 <div style="display:none">Hider!</div>
 <div style="visibility:hidden">Hider!</div>
 <div class="startHidden">Hider!</div>
 <div class="startVisibilityHidden">Hider!</div>
 <div></div>
 <form>
  <input type="hidden" />
  <input type="hidden" />
  <input type="hidden" />
 </form>
 <span></span>
 <button>显示隐然元素</button>
</div>

 

CSS Code:

<style type="text/css">
 .wrap {
   width: 500px;
   padding: 10px;
   margin: 20px auto;
   border: 1px solid #ccc;
 }
  
 .wrap div {
  width: 70px;
  height: 40px;
  background: #0083C1;
  margin: 5px;
  float: left
 }
 
 span {
  display: block;
  clear: left;
  color: #008000;
 }
 
 .startHidden {
  display: none;
 }
 
 .startVisibilityHidden {
  visibility: hidden;
 }
</style>

 

初步效果

举例讲解jQuery中可见性过滤选择器的使用

下面我们分别来看看这两个选择器的语法和使用规则以及所起的作用

一、不可见性选择器::hidden

选择器

$("E:hidden") //E表示元素标签

  或

$(":hidden") //选择所有隐藏元素

描述:

E:hidden表示选择隐藏的E元素,而:hidden表示选取所有不可见的元素

返回值:

集合元素

实例:

$(document).ready(function(){
 $("span:first").text("Found " + $(":hidden",document.body).length + " hidden elements total.");//在第一个span标签中增加文本,显示body中有多少个元素隐藏
 $("div:hidden").show("3000");//显示所有隐藏的div元素
 $("span:last").text("Found " + $("input:hidden").length + " hidden inputs");//在最后一个span标签中增加文本,显示有多少input隐藏
});

功能:

":hidden"选取所有不可见的元素,有的浏览器还包含了<header>内所有标签,而且这里所指的不可见元素是样式为“display:none”和表单“type="hidden"”两种,而不包含“visibility:hidden”的隐藏元素。另外提醒大家,“:hidden”有的会导致选择中<header>内所有标签,所以建议前面加个元素标签。

效果:

举例讲解jQuery中可见性过滤选择器的使用

二、可见性选择器::visible

选择器:

$("E:visible") //E是指元素标签,选择指定的可见元素标签

  或者

$(":visible")//选择所有可见元素

 

描述:

“E:visible”表示选择可见的E元素,比如说“$("div:visible")”表示选择所有可见的div元素,而“$(":visible")”表示选择所有可见元素

返回值:

集合元素

实例:

<script type="text/javascript">
 $(document).ready(function(){
   $("div:visible").click(function(e){ //可见DIV元素绑定一个单击事件
 $(this).css("border","2px solid red"); //给可见的DIV元素增加一个2px的红色边框
 e.stopPropagation();//停止事件冒泡
   });
   $("button").click(function(e){ //给button绑定一个单击事件
 $("div:hidden").show("fast").css("background","red");//隐然的元素显示出来,并把背景变成红色
 e.stopPropagation();//停止事件冒泡
 });
  });
</script>

功能:

上面第一段代码是鼠标单击可见的DIV元素后,该元素会增加一个2px红色边框的样式,而第二段代码是单击按钮会显示所有隐藏的元素,并加上红色背景色。这里所指的可见元素和我们前面隐藏元素一样,只是没有被“display:none”或“.hide()”隐藏的元素。

效果:

举例讲解jQuery中可见性过滤选择器的使用

最后再说一点:“:visible”过滤出所有可见元素,但是这里的可见是指没有被“display:none”或者使用“.hide()“函数隐藏的元素;”:hidden“是选择所有隐藏元素。同样,这里所谓隐藏,不是指”visibility:hidden“,而是指”display:none“或”type="hidden"“的form元素。

有关于jQuery的可见性过滤选择器就简单介绍到这里了,感兴趣的朋友可以在本地测试一下,这样可能加强对他们的理解。

Javascript 相关文章推荐
浅谈Javascript事件处理程序的几种方式
Jun 27 Javascript
基于jquery的图片轮播 tab切换组件
Jul 19 Javascript
jquery插件制作 手风琴Panel效果实现
Aug 17 Javascript
juery框架写的弹窗效果适合新手
Nov 27 Javascript
网页实时显示服务器时间和javscript自运行时钟
Jun 09 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
Jun 15 Javascript
javascript实现复选框选中属性
Mar 25 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
Jul 27 Javascript
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
微信小程序中使用ECharts 异步加载数据实现图表功能
Jul 13 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
May 13 Javascript
html5+javascript实现简单上传的注意细节
Apr 18 #Javascript
jQuery的内容过滤选择器学习教程
Apr 18 #Javascript
原生JS和jQuery版实现文件上传功能
Apr 18 #Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
Apr 18 #Javascript
jQuery 如何给Carousel插件添加新的功能
Apr 18 #Javascript
AngularJS入门教程之AngularJS模型
Apr 18 #Javascript
AngularJS入门教程之AngularJS指令
Apr 18 #Javascript
You might like
一段防盗连的PHP代码
2006/12/06 PHP
php 动态多文件上传
2009/01/18 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
JavaScript 学习笔记(六)
2009/12/31 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
python中函数总结之装饰器闭包详解
2016/06/12 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
Python简单生成8位随机密码的方法
2017/05/24 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
Django实现后台上传并显示图片功能
2020/05/29 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
教师岗位职责
2013/11/17 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
责任书格式范文
2014/07/28 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
Vue的过滤器你真了解吗
2022/02/24 Vue.js
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
springboot入门 之profile设置方式
2022/04/04 Java/Android