举例讲解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 函数使用说明
Apr 07 Javascript
打造基于jQuery的高性能TreeView(asp.net)
Feb 23 Javascript
Javascript 自适应高度的Tab选项卡
Apr 05 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
Oct 16 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
May 14 Javascript
JS的get和set使用示例
Feb 20 Javascript
jQuery实现行文字链接提示效果的方法
Mar 10 Javascript
jQuery菜单插件superfish使用指南
Apr 21 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
Jul 08 Javascript
ES6中的数组扩展方法
Aug 26 Javascript
bootstrap模态框消失问题的解决方法
Dec 02 Javascript
vue-router之nuxt动态路由设置的两种方法小结
Sep 26 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
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
实例讲解php数据访问
2016/05/09 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
详解vue组件基础
2018/05/04 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
python中set常用操作汇总
2016/06/30 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
对python中的argv和argc使用详解
2018/12/15 Python
python数据爬下来保存的位置
2020/02/17 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
公司财务总监岗位职责
2013/12/14 职场文书
企业演讲稿范文
2013/12/28 职场文书
尽职尽责村干部自我鉴定
2014/01/23 职场文书
大一新生学期自我评价
2014/04/09 职场文书
现场活动策划方案
2014/08/22 职场文书
Python图片检索之以图搜图
2021/05/31 Python
分析Netty直接内存原理及应用
2021/06/14 Java/Android