举例讲解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原型继承之基础机制分析
Aug 26 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
Feb 26 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
May 11 Javascript
JavaScript中的getDay()方法使用详解
Jun 09 Javascript
BootstrapValidator不触发校验的实现代码
Sep 28 Javascript
详解JavaScript的内置对象
Dec 07 Javascript
bootstrap实现图片自动轮播
Dec 21 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
Mar 07 Javascript
javascript异步编程的六种方式总结
May 17 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
Feb 15 Javascript
JavaScript实现PC端四格密码输入框功能
Feb 19 Javascript
前端vue+elementUI如何实现记住密码功能
Sep 20 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生成EXCEL的东东
2006/10/09 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
this和执行上下文实现代码
2010/07/01 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
2018/02/23 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
Python入门篇之数字
2014/10/20 Python
你应该知道的python列表去重方法
2017/01/17 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
英国网上购买门:Direct Doors
2018/06/07 全球购物
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
2014年冬季防火方案
2014/05/21 职场文书
党员批评与自我批评
2014/10/15 职场文书
超市食品安全承诺书
2015/04/29 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
英语演讲开场白
2015/05/29 职场文书
负责培养人意见
2015/06/05 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
担保书怎么写 ?
2019/04/22 职场文书