举例讲解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 相关文章推荐
firefox firebug中文入门教程 脚本之家新年特别版
Jan 02 Javascript
JavaScript中SQL语句的应用实现
May 04 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
Jan 08 Javascript
原生javascript实现无间缝滚动示例
Jan 28 Javascript
JavaScript中的类数组对象介绍
Dec 30 Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 Javascript
jquery获取复选框checkbox的值的简单实现方法
May 26 Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 Javascript
超简单的Vue.js环境搭建教程
Mar 17 Javascript
详解Vue结合后台的列表增删改案例
Aug 21 Javascript
浅谈关于iview表单验证的问题
Sep 29 Javascript
Vue自定义属性实例分析
Feb 23 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 魔术方法使用说明
2009/10/20 PHP
PHP中几个常用的魔术常量
2012/02/23 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
arguments对象
2006/11/20 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
js使用ajax读博客rss示例
2014/05/06 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
树结构之JavaScript
2017/01/24 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
pyside写ui界面入门示例
2014/01/22 Python
python计算时间差的方法
2015/05/20 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
公司人力资源的自我评价
2014/01/02 职场文书
期末评语大全
2014/05/04 职场文书
技校毕业生自荐信
2014/06/03 职场文书
音乐学专业求职信
2014/07/22 职场文书
夫妻分居协议书范本(有子女版)
2014/11/01 职场文书
护理工作个人总结
2015/03/03 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers