jQuery选择器(二)(基本过滤器,内容过滤器,可见过滤器)

news2024/11/20 18:33:46

写在前面

jQuery是一个快速、简洁的 JavaScript 框架,是继Prototype之后又一个优秀的 JavaScript 代码库。jQuery的设计宗旨是“WriteLess,DoMore”,即倡导写更少的代码,做 更多的事情。jQuery封装了 JavaScript 常用的功能代码,提供一种简便的 JavaScript 设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

目录

🍋jQuery选择器

🥙过滤器

🧀1.基本过滤器                   

🍤2.内容过滤器

🧁3.可见过滤器

☕️4.属性过滤器

🍹5.子元素过滤器


🍋jQuery选择器

🥙过滤器

过滤器主要是通过特定的过滤规则筛选出所需的DOM元素,该选择器以冒号开头。按照不同的过滤规则,过滤器又可分为基本过滤器、内容过滤器、可见性过滤器、属性过滤器、子元素过滤器和表单对象属性过滤器。

🧀1.基本过滤器                   

选择器说明
:first 匹配找到的第一个元素
:last 匹配找到的最后一个元素
:not(selector) 去除所有与给定选择器匹配的元素
:even 匹配所有索引值为偶数的元素,例如$("tr:even")
:odd 匹配所有索引值为奇数的元素,例如$("tr:odd")
:eq(index)匹配一个给定索引值的元素
:gt(index) 匹配所有大于给定索引值的元素
:It(index)  匹配所有小于给定索引值的元素
:header 匹配所有标题
:animated 匹配所有正在执行动画效果的元素

    
   例如:


(1)改变class不为one的所有div的背景颜色。

$("div:not(.one)").css("background","red");

(2)改变索引为奇数的div的背景颜色。

$("div:odd").css("background","red");

(3)改变索引为偶数的div的背景颜色。

$("div:even").css("background","red");

(4)改变索引为大于某数的div的背景颜色。

$("div:gt(3)").css("background","red");

(5)改变索引为等于某数的div的背景颜色。

$("div:eq(3)").css("background","red");

(6)改变索引为小于某数的div。

$("div:lt(3)").css("background","red");


 

🍤2.内容过滤器

选择器说明
:contains(text)匹配包含给定文本的元素
:empty()匹配所有不包含子元素或者文本的空元素
:has(selector)匹配含有选择器所匹配的元素的元素
:parent()匹配含有子元素或者文本的元素,与:empty()相反

 在例1中放置四个div块,分别根据每个div块的不同特点改变其背景颜色,在浏览器中的显示结果如图1所示,单击“显示效果”按钮后,在浏览器中的显示结果如图2所示。
 

【例1】

<!doctype html>
<html>
  <head>
   <meta charset="utf-8">
   <title>jQuery内容过滤器</title>
   <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">    </script>
   <script>
    $(function(){
     $('button'). click(function(){
      //包含内容为“ha"的div块
      $('div:contains(ha)').css('backgroundColor','green');
      //不包含任何内容的div块
      $('div:empty').css('backgroundColor','yellaw');
      //包含有a标签的div块
      $('div:has(a)').css('backgroundColor','pink');
     })
    })
   </script>
   <style>
     div{
       width:300px;
       height:50px;
       border:1px  solid red;
       margin:5px;
     }
   </style>
  </head>
<body>
   <button>显示效果</button>
   <div>hahha</div>
   <div>heihei</div>
   <div></div>
   <div><a href=" http://www.baidu.com ">content</a> </div>
   </body>
</html>

 图1 内容过滤器                      

 图2 内容过滤器改变属性     

🧁3.可见过滤器


可见性过滤器可以根据元素的可见性进行选择,可见性过滤器包括“:hidden”和“:visible”。其中可见性过滤器“:hidden”不仅包含样式属性display为none的元素,也包含文本隐藏域(<input type="hidden">)和visible:hidden之类的元素;可见性过滤器“:visible”可以匹配所有可见的元素。

例2制作的页面上有两个按钮,一个按钮是改变可见性元素的背景颜色的属性,另一个按钮是利用jQuery的show()方法让不可见元素显示出来。

【例2】

<!doctype html>
<html>
  <head>
  <meta charset="utf-8">
  <title>jQuery可见性过滤器</title>
  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
   <script type="text/javascript">
    $(document).ready(function(){
     $("#b1").click(function(){
     $("div:visible").css("background","red");
     });
    $("#b2").click(function(){
     $("div:hidden").show(1000);
     });
    });
   </script>
  </head>
 <body>
   <h3>可见性过滤器.</h3>
   <input type="button" value="改变可见div元素属性" id="b1"/>
   <input type="button" value="显示不见元素属性" id="b2"/>
   <br/><br/>
   <div id="one">
     Hello World!
   </div>
   <div style="display:none;">
      style的display为"none"的div
   </div>
 </body>
</html>

 图3 可见性过滤器                 

 图4 改变属性                     

☕️4.属性过滤器

属性过滤器的过滤规则是通过元素的属性来获取相应的元素。

选择器说明
[attribute]匹配包含给定属性的元素
[attribute=value]匹配给定属性为特定值的元素
[attribute!=value]匹配给定属性不等于特定值的元素
[attribute^=value]匹配给定属性是以特定值开头的元素
[attribute$=value]匹配给定属性是以特定值结尾的元素
[attribute*=value]匹配给定属性包含特定值的元素
[attributeFilterl][attributeFilter2][…]复合属性选择器,匹配属性同时满足多个条件的元素

例3在制作的页面上选择超链接中带有title属性的元素,修改这些元素的背景色、字体大小、下划线等属性。
【例3】

<!doctype html>
<html>
 <head>
 <meta charset="utf-8">
 <title>jQuery属性过滤器</title>
 <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
 <script>
  $(document).ready(function(){
   $("a[title]").css({"color":"#FF9600",
    "font-size":"12px",
   "text-decoration":"none"});
  });
 </script>
 </head>
<body>
   <a href="#" title="first">第一个包含title属性的a元素</a><br/>
   <a href="#">第一个不包含title属性的a元素</a><br/>
   <a href="#" title="second">第二个包含title属性的a元素</a><br/>
   <a href="#">第二个不包含title属性的a元素</a><br/>
   <a href="#" title="third">第三个包含title属性的a元素</a>
 </body>
</html>

🍹5.子元素过滤器

使用子元素过滤器可以根据某个元素的子元素对该元素进行过滤。表4列出子元素过滤器及其说明。

选择器说明
:first-child获取第一个子元素
:last-child获取最后一个子元素
:nth-child()通过相关指数获取子元素
:only-child获取子元素唯一的元素

其中,nth-child()选择器的说明如下:

(1):nth-child(even/odd): 选取每个父元素下的索引值为偶(奇)数的元素。
(2):nth-child(2): 选取每个父元素下的索引值为2的元素。
(3):nth-child(3n): 选取每个父元素下的索引值是3的倍数的元素。
(4):nth-child(3n+1): 选取每个父元素下的索引值是3n+1的元素。

在例4制作的页面上选择偶数列表元素,让其背景色发生改变,在浏览器的显示结果如图5所示。

【例4】
 

<!doctype html>
<html>
  <head>
  <meta charset="utf-8">
  <title>jQuery子元素过滤器</title>
  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
  <script>
    $(document).ready(function(){
     $("ul li:nth-child(even)").css("background-color","#FF9600");
    });
   </script>
   </head>
 <body>
   <ul>
     <li>音乐</li>
     <li>羽毛球</li>
     <li>足球</li>
     <li>篮球</li>
   </ul>
 </body>
</html>

 注:本文通过 CDN(内容分发网络)引用jQuery,用户可以不下载存放 jQuery。

<head>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>
</head>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/408840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Vue】具名插槽

要点&#xff1a; 具名插槽&#xff1a;即具有名字的插槽&#xff0c;在默认插槽基础上指定插槽的名字&#xff08;name " "&#xff09;。父组件指明放入子组件的哪个插槽 slot "footer"&#xff0c;如果是template可以写成 v-slot : footer。 父组件中…

html中关于侧边导航栏和导航栏的编写

侧边导航栏 <style>.box{width: 50px;height: 50px;background-color: #483957;transition: width .5s,background-color .2s;}.box:hover{background-color: #004FCB;width: 200px;cursor: pointer;}.a1{position: fixed;right: 40px;top: 200px;float: right;}</st…

如何搭建一个vue项目(完整步骤)

如何搭建一个vue项目(完整步骤) 一、环境准备 1、安装node.js 下载地址&#xff1a;https://nodejs.org/zh-cn/界面展示 2、检查node.js版本 查看版本的两种方式 1|node -v 2|node -version 出现版本号则说明安装成功&#xff08;最新的以官网为准&#xff09; 3、为了…

vue环境搭建

前言&#xff1a;1、首先安装nodejs2、其次安装vue-cli&#xff0c;配置vue环境变量3、再次安装webpack、webpack-cli一、NodeJs安装 1、nodejs下载地址&#xff1a;https://nodejs.org/ 2、验证是否安装成功&#xff08;安装时已经自动加入到环境变量的path中&#xff09; 以…

Referer和Referrer Policy以及图片防盗链

​ Referer Referer请求头包含了当前请求页面的来源页面的地址&#xff0c;即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用Referer&#xff08;注&#xff1a;正确英语拼写应该是referrer&#xff0c;由于早期HTTP规范的拼写错误&#xff0c;为了保持向后兼容…

html 简单表格制作(看了它足以应对大部分表格)

目录 基础表格 进阶表格 锦上添花表格 bgcolor background align frame元素 基础表格 首先制作一个表格我们要知道一张简单表格就是由二部分组成分别是表头&#xff0c;表身。 下面就是一个简单的表格。 表头就是黑体加粗的内容&#xff0c;表身就是表格主要表达的内容。…

css里面设置按钮(button)让字体居中

题目&#xff1a;设置button中的字体让其居中&#xff0c;不至于溢出(字体下落&#xff0c;重影等问题) 1&#xff0c;抛出问题&#xff0c;如图所示 2&#xff0c;引出我的代码 <view class"loginBtn"><form action"check.jsp" method"get…

带你吃透Servlet技术(二)

个人主页&#xff1a; 几分醉意的CSDN博客_传送门 前言&#xff1a;在上一篇&#xff0c;我们已经初步的了解了 Servlet技术 传送门&#xff0c;接下来我们继续深入学习Servlet。 本文目录&#x1f496;继承HttpServlet实现Servlet程序✨代码实战✨自动生成doGet和doPost方法✨…

猿创征文|如何使用 Element UI? 以登录框为例带你感受一下基础使用

目录 前言 一、安装&#xff08;所有内容&#xff09; 二、按需引入 三、案例演示 1.案前整理 2.代码演示&#xff08;后附源码&#xff09; 3.源码 前言 Element-ui&#xff0c;一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的组件库&#xff0c;提供了配套设计…

el-upload上传文件

el-upload上传文件 前言 公司和学校项目都用到了上传文件的功能&#xff0c;记录一下。 准备 express实现的上传接口 const express require(express); ​ // 文件上传模块 const multiparty require(multiparty) ​ // 提供跨域资源请求 const cors require(cors) ​ …

Idea中使用Tomcat部署并启动Web项目

首先在Idea中选择编辑运行配置&#xff0c;如下图 左上角的“”号&#xff0c;选择Tomcat服务&#xff0c;如下图 自定义服务名称和项目在浏览器的访问路径 配置Tomcat服务器路径&#xff0c;如下图 然后在服务器中部署项目&#xff08;下面的警告提示&#xff1a;Warning: No …

nginx响应码301及访问路径参数丢失之间的关系

nginx响应码301及访问路径参数丢失之间的关系 本文比较长&#xff0c;所以写了一篇比较短的结果导向的文章&#xff0c;换了一下思路&#xff0c;大家可以看一这篇文章&#xff0c;如果感兴趣再来看这篇文章&#xff1a;nginx导致vue设置history模式下的请求丢失参数 背景描述…

Java使用WebStocket实现前后端互发消息

记录一下自己使用WebStocket实现服务器主动发消息的过程和踩得雷。 需求&#xff1a;车牌识别系统识别到车牌后&#xff0c;持续向前端推送车牌信息&#xff0c;直到前端回复收到。 测试需求&#xff1a;新增 客户后&#xff0c;持续向前端推送客户信息&#xff0c;直到前端收…

type=“module“ 你了解,但 type=“importmap“ 你知道吗

新出了一个系列&#xff1a;Vue2与Vue3 技巧小册 有梦想&#xff0c;有干货&#xff0c;微信搜索 【大迁世界】 关注这个在凌晨还在刷碗的刷碗智。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录&#xff0c;有一线大厂面试完整考点、资料以及我的系列文章。 当E…

css的rotate3d实现炫酷的圆环转动动画

1.实现效果 2.实现原理 2.1 rotate3d rotate3d&#xff1a;rotate3d() CSS 函数定义一个变换&#xff0c;它将元素围绕固定轴移动而不使其变形。运动量由指定的角度定义; 如果为正&#xff0c;运动将为顺时针&#xff0c;如果为负&#xff0c;则为逆时针。 语法&#xff1a; …

【面试题】redux及中间件相关面试题解析

1、什么是Redux&#xff1f; Redux就是一个js容器&#xff0c;用于全局的状态管理 2、为什么在React项目中要使用Redux&#xff1f; 因为React本质上就是一个UI库&#xff0c;它是单向数据流的&#xff0c;就是说数据只能从父组件通过props流向子组件&#xff0c;但如果子组…

Vue 无感刷新token

关于无感刷新的理解: 实现token无感刷新对于前端来说是一项非常常用的技术,其本质是为了优化用户体验,当token过期时不需要用户跳回登录页重新登录,而是当token失效时,进行拦截,发送刷新token的请求,获取最新的token进行覆盖,让用户感受不到token已经过期 刷新token的一些方案…

零基础JavaScript学习【第六期】

博主有话说:这个礼拜有些忙,离上一次更新已经过了亿天,这几天较忙所以更新会有点慢,谢谢大家的支持。(っ•̀ω•́)っ✎⁾⁾ 我爱学习 个人空间:GUIDM的个人空间 专栏内容:零基础JavaScript学习 基础还是关键。 欢迎大家的一键三连。 前情回顾:第一期https://blog.cs…

uni-app - 最详细 H5 网页接入微信支付功能,提供从详细的示例代码与注释(移动端网页实现微信支付能力,微信公众号前端支付 JSAPI / JS-SDK 详细示例源码)官方最新超级详细教程

前言 关于 uni-app 项目中接入微信支付的文章鱼龙混杂,各种 JSAPI / JS-SDK 乱代码、过时、没注释、不讲流程原理,非常难用。 本文实现了 uni-app H5 移动端网页项目,实现微信支付功能,详细讲解接入流程及超详细示例代码, 从 0-1 完全站在小白的角度,让您无需太多知识也…

【React】React入门--生命周期

&#x1f380;个人主页&#xff1a;努力学习前端知识的小羊 感谢你们的支持&#xff1a;收藏&#x1f384; 点赞&#x1f36c; 加关注&#x1fa90; 文章目录React生命周期初始化阶段运行中阶段销毁阶段老生命周期的问题新生命周期代替性能优化的方案重要的勾子即将废弃的勾子R…