举例讲解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 相关文章推荐
pjblog修改技巧汇总
Mar 12 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
Dec 14 Javascript
javascript实现上传图片并预览的效果实现代码
Apr 11 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
Nov 13 Javascript
使用javascript实现简单的选项卡切换
Jan 09 Javascript
JS常用加密编码与算法实例总结
Dec 22 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
Oct 23 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
Django+Vue跨域环境配置详解
Jul 06 Javascript
JS合并两个数组的3种方法详解
Oct 24 Javascript
JS实现烟花爆炸效果
Mar 10 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
Jun 15 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 获取本地IP代码
2013/06/23 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
js确定对象类型方法
2012/03/30 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
9个JavaScript日常开发小技巧
2020/10/06 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
Python常用编译器原理及特点解析
2020/03/23 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
如何用python处理excel表格
2020/06/09 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
opencv实现图像平移效果
2021/03/24 Python
材料加工硕士生求职信
2013/10/10 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
绿色小区申报材料
2014/08/22 职场文书
优秀党员推荐材料
2014/12/18 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js