举例讲解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 全面解析各种浏览器网页中的JS 执行顺序
Feb 17 Javascript
javascript 操作cookies及正确使用cookies的属性
Oct 15 Javascript
javascript 操作Word和Excel的实现代码
Oct 26 Javascript
jquery索引在使用中的一些困惑
Oct 24 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 Javascript
js判断是否为ie的方法小结
Jan 13 Javascript
浏览器复制插件zeroclipboard使用指南
Mar 26 Javascript
基于jquery实现智能表单验证操作
May 09 Javascript
JavaScript中ES6字符串扩展方法
Aug 26 Javascript
vue里面使用mui的弹出日期选择插件实例
Sep 16 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
Sep 19 Javascript
微信小程序实现预览图片功能
Oct 22 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
世界收音机发展史
2021/03/01 无线电
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
使用Python实现博客上进行自动翻页
2017/08/23 Python
pycharm+django创建一个搜索网页实例代码
2018/01/24 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
python开头的coding设置方法
2019/08/08 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
英文求职信写作小建议
2014/02/16 职场文书
教研活动总结
2014/04/28 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
奉献家乡演讲稿
2014/09/13 职场文书
停车场管理协议书范本
2014/10/08 职场文书
村级干部党员公开承诺事项
2015/05/04 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python
java项目构建Gradle的使用教程
2022/03/24 Java/Android
python使用shell脚本创建kafka连接器
2022/04/29 Python