举例讲解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 相关文章推荐
parseInt parseFloat js字符串转换数字
Aug 01 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
Aug 12 Javascript
js replace正则表达式应用案例讲解
Jan 17 Javascript
JS获取鼠标坐标的实例方法
Jul 18 Javascript
jQuery Ajax()方法使用指南
Nov 19 Javascript
jquery插件bootstrapValidator表单验证详解
Dec 15 Javascript
Angular4实现图片上传预览路径不安全的问题解决
Dec 25 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
Dec 28 Javascript
vue和better-scroll实现列表左右联动效果详解
Apr 29 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
Oct 31 Javascript
微信小程序实现上传多个文件 超过10个
Mar 30 Javascript
JavaScript适配器模式原理与用法实例详解
Mar 09 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编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
php生成gif动画的方法
2015/11/05 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
使用js操作cookie的一点小收获分享
2013/09/03 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
Python对象的属性访问过程详解
2020/03/05 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
毕业自我鉴定
2013/11/05 职场文书
毕业生就业自荐书
2013/12/15 职场文书
建筑项目策划书
2014/01/13 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
幼儿园感谢信
2015/01/21 职场文书
运动会800米赞词
2015/07/22 职场文书
关于Python中进度条的六个实用技巧分享
2022/04/05 Python