举例讲解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函数
Sep 08 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
Aug 20 Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 Javascript
jQuery动态修改超链接地址的方法
Feb 13 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
Nov 29 Javascript
vue+axios新手实践实现登陆的示例代码
Jun 06 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
Aug 01 Javascript
JS防抖和节流实例解析
Sep 24 Javascript
JavaScript ES6 Class类实现原理详解
May 08 Javascript
详解React的回调渲染模式
Sep 10 Javascript
微信小程序onShareTimeline()实现分享朋友圈
Jan 07 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一些公用函数的集合
2008/03/27 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
vue中引用swiper轮播插件的教程详解
2018/08/16 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
python 文件操作删除某行的实例
2017/09/04 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
详解python中eval函数的作用
2019/10/22 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
九月份红领巾广播稿
2014/01/22 职场文书
两只小狮子教学反思
2014/02/05 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
汇源肾宝广告词
2014/03/20 职场文书
施工安全汇报材料
2014/08/17 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
物业保安辞职信
2015/05/12 职场文书
关于车尾的标语大全
2015/08/11 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery