举例讲解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 相关文章推荐
取选中的radio的值
Jan 11 Javascript
复制小说文本时出现的随机乱码的去除方法
Sep 07 Javascript
分享一个自己动手写的jQuery分页插件
Aug 28 Javascript
js css 实现遮罩层覆盖其他页面元素附图
Sep 22 Javascript
再JavaScript的jQuery库中编写动画效果的指南
Aug 13 Javascript
Bootstrap每天必学之响应式导航、轮播图
Apr 25 Javascript
原生js实现验证码功能
Mar 16 Javascript
Node错误处理笔记之挖坑系列教程
Jun 05 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
Sep 12 Javascript
vue elementui form表单验证的实现
Nov 11 Javascript
JavaScript中的回调函数实例讲解
Jan 27 Javascript
Vue+Element UI实现概要小弹窗的全过程
May 30 Vue.js
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中使用redis队列操作实例代码
2013/02/07 PHP
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
2014/08/28 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
Laravel日志用法详解
2016/10/09 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
php JWT在web端中的使用方法教程
2018/09/06 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
director.js实现前端路由使用实例
2015/02/03 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
大学生村官事迹材料
2014/01/21 职场文书
个人安全生产承诺书
2014/05/22 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers
服务器nginx权限被拒绝解决案例
2022/09/23 Servers