jQuery详细教程

文章目录

  • 前言
  • 一、安装与快速上手
  • 二、直接寻找标签
    • 1.ID选择器
    • 2.类选择器/样式选择器
    • 3.标签选择器
    • 4.层级选择器
    • 5.多选择器
    • 6.属性选择器
  • 三、间接寻找标签
    • 1.找兄弟
    • 2.找父子
  • 四、值操作
  • 五、事件
  • 六、样式操作

前言

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互

一、安装与快速上手

  • JQuery是一个JavaScript的第三方模块(第三方类库)
  • JQuery的安装方式参考《BootScrap详细教程》的实现动态效果部分
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><h1 id="txt">中国联通</h1><script src="static/js/jquery-3.6.1.min.js"></script><script type="text/javascript">//使用JQuery修改内容$("#txt").text("广西移动");</script></body>
</html>

请添加图片描述

二、直接寻找标签

1.ID选择器

<h1 id="txt">中国联通</h1>
<h1>中国联通</h1>
<h1>中国联通</h1>
$("#txt")

2.类选择器/样式选择器

<h1 class="c1">中国联通</h1>
<h1 class="c2">中国联通</h1>
<h1 class="c3">中国联通</h1>
$(".c1")

3.标签选择器

<h1 class="c1">中国联通</h1>
<h1 class="c2">中国联通</h1>
<h1 class="c3">中国联通</h1>
$("h1")

4.层级选择器

<div class="c1"><div class="c2"><h1>123</h1></div>
</div>
$(".c1 .c2 h1")

5.多选择器

<div class="c1"><div class="c2"><h1>123</h1></div>
</div>
<div class="c3"><div class="c4"><h1>123</h1><li>456</li></div>
</div>
$("#c1,#c2,li")

6.属性选择器

<input type="text" name="n1" />
<input type="text" name="n2" />
<input type="text" name="n3" />
$("input[name='n1']")

三、间接寻找标签

1.找兄弟

<div><div>北京</div><div id="c1">上海</div><div>深圳</div><div>广州</div>
</div>
$("#c1").prev()			//上一个
$("#c1")				//本体
$("#c1").next()			//下一个
$("#c1").next().next()	//下一个的下一个
$("#c1").siblings()		//所有的

2.找父子

<div><div><div>北京</div><div id="c1"><div>浦东新区</div><div>静安区</div><div>奉贤区</div></div><div>深圳</div><div>广州</div></div><div><div>北京</div><div id="c1">上海</div><div>深圳</div><div>广州</div></div>
</div>
$("#c1").parent()			//父亲
$("#c1").parent().parent()	//父亲的父亲$("#c1").children()			//所有的儿子
$("#c1").children(".p10")	//所有的儿子中寻找class=p10$("#c1").find(".p10")		//所有的子孙中寻找class=p10
$("#c1").children("div")	//所有的儿子中寻找标签 div
  • 实例:菜单切换
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>.menus {width: 200px;height: 1000px;border: 1px solid red;}.menus .header {background-color: royalblue;padding: 5px 5px;border-bottom: 1px dotted gray;cursor: pointer;}.menus .content a {display: block;padding: 5px 5px;border-bottom: 1px dotted gray;}.hide {display: none;}</style>
</head><body><div class="menus"><div class="item"><div class="header" onclick="clickMe(this);">天津</div><div class="content hide"><a>静海区</a><a>东丽区</a><a>西青区</a><a>宝坻区</a><a>滨海新区</a></div></div><div class="item"><div class="header" onclick="clickMe(this);">上海</div><div class="content hide"><a>静安区</a><a>奉贤区</a><a>浦东新区</a><a>徐汇区</a><a>青浦区</a></div></div></div><script src="static/js/jquery-3.6.1.min.js"></script><script type="text/javascript">function clickMe(self) {var hasHide = $(self).next().hasClass("hide");if (hasHide) {$(self).next().removeClass("hide");} else {$(self).next().addClass("hide");}}</script>
</body>
</html>

在这里插入图片描述

  • 功能升级:只允许一个展开
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>.menus {width: 200px;height: 1000px;border: 1px solid red;}.menus .header {background-color: royalblue;padding: 5px 5px;border-bottom: 1px dotted gray;cursor: pointer;}.menus .content a {display: block;padding: 5px 5px;border-bottom: 1px dotted gray;}.hide {display: none;}</style>
</head><body><div class="menus"><div class="item"><div class="header" onclick="clickMe(this);">天津</div><div class="content"><a>静海区</a><a>东丽区</a><a>西青区</a><a>宝坻区</a><a>滨海新区</a></div></div><div class="item"><div class="header" onclick="clickMe(this);">上海</div><div class="content hide"><a>静安区</a><a>奉贤区</a><a>浦东新区</a><a>徐汇区</a><a>青浦区</a></div></div><div class="item"><div class="header" onclick="clickMe(this);">上海1</div><div class="content hide"><a>静安区</a><a>奉贤区</a><a>浦东新区</a><a>徐汇区</a><a>青浦区</a></div></div><div class="item"><div class="header" onclick="clickMe(this);">上海2</div><div class="content hide"><a>静安区</a><a>奉贤区</a><a>浦东新区</a><a>徐汇区</a><a>青浦区</a></div></div></div><script src="static/js/jquery-3.6.1.min.js"></script><script type="text/javascript">function clickMe(self) {//1.让菜单展示出来$(self).next().removeClass("hide");//2.找父亲,父亲的所有兄弟,再去每个兄弟的子孙中寻找 class="content", 添加 hide 样式$(self).parent().siblings().find(".content").addClass("hide");}</script>
</body>
</html>

在这里插入图片描述

四、值操作

<div id="c1">内容</div>
<input type="text " id="c2"/>
  • JQuery操作:
$("#c1").text()				//获取文本内容
$("#c1").text("abc")		//设置文本内容$("#c2").val()				//获取用户输入的值
$("#c2").val("嘿嘿嘿")		//设置值
  • 实例:动态创建数据
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Document</title>
</head><body><input type="text" id="txtUser" placeholder="用户名"><input type="text" id="txtEmail" placeholder="密码"><input type="button" value="提交" onclick="getInfo()"><ul id="view"></ul><script src="static/js/jquery-3.6.1.min.js"></script><script>function getInfo() {//1.获取用户输入的用户名与密码var username = $("#txtUser").val();var email = $("#txtEmail").val();dataString = username + ":" + email//2.创建li标签, 在li内部写入内容var newLi = $("<li>").text(dataString);//3.把新创建的li标签添加到ul里面$("#view").append(newLi);}</script>
</body>
</html>

在这里插入图片描述

五、事件

  • $(“相关标签”).click(function(){函数内容});
<body><ul><li>百度</li><li>谷歌</li><li>搜狗</li></ul><script src="static/js/jquery-3.6.1.min.js"></script><script>$("li").click(function(){// 点击li标签时,自动执行这和函数// $(this) 当前你点击的是哪个标签$(this).remove();//删除标签});</script>
</body>
  • 实例:表格操作
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Document</title>
</head><body><table border="1"><thead><tr><th>ID</th><th>姓名</th><th>年龄</th></tr></thead><tbody id="body"><tr><td>1</td><td>poker</td><td><input type="button" value="删除" class="delete" /></td></tr><tr><td>1</td><td>poker</td><td><input type="button" value="删除" class="delete" /></td></tr><tr><td>1</td><td>poker</td><td><input type="button" value="删除" class="delete" /></td></tr><tr><td>1</td><td>poker</td><td><input type="button" value="删除" class="delete" /></td></tr></tbody></table><script src="static/js/jquery-3.6.1.min.js"></script><script>$(function () {$(".delete").click(function () {$(this).parent().parent().remove();});})</script>
</body>
</html>

在这里插入图片描述

六、样式操作

  • addClass
  • removeClass
  • hasClass
  • 等等

十分多,可以在jQuery手册中寻找https://jquery.cuishifeng.cn/

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

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

相关文章

基于树莓派实现 --- 智能家居

最效果展示 演示视频链接&#xff1a;基于树莓派实现的智能家居_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tr421n7BM/?spm_id_from333.999.0.0 &#xff08;PS&#xff1a;房屋模型的搭建是靠纸板箱和淘宝买的家居模型&#xff0c;户型参考了留学时短租的公寓~&a…

【prompt六】MaPLe: Multi-modal Prompt Learning

1.motivation 最近的CLIP适应方法学习提示作为文本输入,以微调下游任务的CLIP。使用提示来适应CLIP(语言或视觉)的单个分支中的表示是次优的,因为它不允许在下游任务上动态调整两个表示空间的灵活性。在这项工作中,我们提出了针对视觉和语言分支的多模态提示学习(MaPLe),以…

CMake简单使用03资源拷贝

有如下的工代码&#xff1a; 可见bin里面没有任务文件 修改主CMakeLists.txt #需求的最低cmake程序版本 cmake_minimum_required(VERSION 3.2)#本工程的名字&#xff0c;- OpenGL.sln project(OpenGL)#本工程支持的c版本 set(CMAKE_CXX_STANDARD 17)#把需要拷贝的资源路径都放…

大小端是什么?怎么判断?(百度笔试题)

目录 一、前言二、什么是大小端&#xff1f;三、为什么有大小端之分呢&#xff1f;四、判断机器是大端还是小端--百度笔试题 一、前言 先看一段代码&#xff1a; #include<stdio.h> int main() {int n 0x11223344;return 0; }二、什么是大小端&#xff1f; 其实超过⼀…

ConFEDE: Contrastive Feature Decomposition for Multimodal Sentiment Analysis

文章目录 ConFEDE&#xff1a;用于多模态情感分析的对比特征分解文章信息研究目的研究内容研究方法1.总体结构2.损失函数3.Data Sampler4.数据采样算法5.Contrastive Feature Decomposition&#xff08;重点&#xff09; 结果与讨论代码和数据集附录 ConFEDE&#xff1a;用于多…

unicloud 云函数 介绍及使用

普通云函数 callFunction方式云函数&#xff0c;也称之为普通云函数。 uni-app的前端代码&#xff0c;不再执行uni.request联网&#xff0c;而是通过uniCloud.callFunction调用云函数。 callFunction方式避免了服务器提供域名&#xff0c;不暴露固定ip&#xff0c;减少被攻击…

vulnhub prime1通关

目录 环境安装 1.信息收集 收集IP 端口扫描 目录扫描 目录文件扫描 查找参数 打Boss 远程文件读取 木马文件写入 权限提升 方法一 解锁密钥 方法二&#xff1a; linux内核漏洞提权 总结 环境安装 Kali2021.4及其prime靶机 靶机安装&#xff1a;Prime: 1 ~ Vul…

【Deep Learning 8】元学习

&#x1f31e;欢迎来到AI生物医学的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f320;本阶段属于练气阶段&#xff0c;希望各位仙友顺利…

C#基于SMTP的邮件发送

准备工作 注册邮箱 首先我们需要注册一个作为发送邮件的邮箱&#xff0c;这一步可以直接进入网易邮箱官网进行注册&#xff0c; 注册地址&#xff1a;https://mail.163.com/ 这里我们可以选择【快速注册】和【普通注册】&#xff0c;如图1-1所示&#xff0c;这里我选择的普…

[OpenCV学习笔记]获取鼠标处图像的坐标和像素值

目录 1、介绍2、效果展示3、代码实现4、源码展示 1、介绍 实现获取鼠标点击处的图像的坐标和像素值&#xff0c;灰度图显示其灰度值&#xff0c;RGB图显示rgb的值。 OpenCV获取灰度值及彩色像素值的方法&#xff1a; //灰度图像&#xff1a; image.at<uchar>(j, i) //j…

python与excel第一节

python与excel第一节 由于excel在日常办公中大量使用&#xff0c;我们工作中常常会面对高频次或者大量数据的情况。使用python语言可以更加便捷的处理excel。 python与vba的比较 python语法更加简洁&#xff0c;相较于vba冗长复杂的语法&#xff0c;python更加容易学习。 p…

【蓝桥杯选拔赛真题73】python偶数平方 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录 python偶数平方 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python偶数平方 第十五届蓝桥杯青少年组python比赛选拔赛真题 一、题目要…

Angular入门问题小本本

1、console.log打印object对象显示[object object] 解决方案&#xff1a;使用JSON.stringify console.log(JSON.stringify($rootScope.MaintainDeviceInfo));2、 State ‘goDiskManagement’’ is already defined 解决方案&#xff1a;同一个项目中&#xff0c;不能定义相同…

性能测试-Jmeter中IF控制器使用

一、Jmeter控制器 分为两种类型&#xff1a; 控制测试计划执行过程中节点的逻辑执行顺序&#xff0c;如&#xff1a;循环控制器&#xff0c;if控制器等对测试计划中的脚本进行分组&#xff0c;方便Jmeter统计执行结果以及进行脚本的运行时控制等&#xff0c;如&#xff1a;吞…

BUU [MRCTF2020]套娃

BUU [MRCTF2020]套娃 开题&#xff0c;啥也没有。 查看网页源代码发现后端源代码&#xff1a; <?php //1st $query $_SERVER[QUERY_STRING];if( substr_count($query, _) ! 0 || substr_count($query, %5f) ! 0 ){die(Y0u are So cutE!); }if($_GET[b_u_p_t] ! 23333 &am…

防火墙在解决方案及典型项目中的应用

防火墙在解决方案及典型项目中的应用 防火墙作为基础安全防护产品&#xff0c;在各种解决方案、业务场景中配套应用&#xff0c;本节给出各类方案资料链接方便查阅。 防火墙在华为网络解决方案中的应用 解决方案 文档 主要应用 CloudFabric云数据中心网解决方案 资料专区…

《剑指 Offer》专项突破版 - 面试题 88 : 动态规划的基础知识(C++ 实现)

目录 前言 面试题 88 : 爬楼梯的最少成本 一、分析确定状态转移方程 二、递归代码 三、使用缓存的递归代码 四、空间复杂度为 O(n) 的迭代代码 五、空间复杂度为 O(1) 的迭代代码 前言 动态规划是目前算法面试中的热门话题&#xff0c;应聘者经常在各大公司的面试中遇到…

Linux docker3--数据卷-nginx配置示例

一、因为docker部署服务都是以最小的代价部署&#xff0c;所以通常在容器内部很多依赖和命令无法执行。进入容器修改配置的操作也比较麻烦。本例介绍的数据卷作用就是将容器内的配置和宿主机文件打通&#xff0c;之后修改宿主机的配置文件就相当于修改了docker进程的配置文件&a…

webgl浏览器渲染设置

在浏览器中程序图形化webgl渲染时&#xff0c;有时候发现代码没有问题&#xff0c;但是就是无法渲染或者渲染报错&#xff0c;此时可以尝试如下的设置&#xff1a; 通过在chrome浏览器输入chrome&#xff1a;//flags打开扩展 设置一&#xff08;webgl开发者扩展&#xff09; 设…

复习Day2

AcWing 1214. 波动数列 - AcWing j(n-1)*b与前i-1项的和模n余数相同&#xff1a; 记前i项的和为x,则有 x%nj ,第i项为 -(n-1)b , 前i项的和为 x-(-(n-1)b)即 x(n-1)b , 而 x(n-1)b % n j (n-1)b % n 就是 x(n-1)b 在模n的情况下同余于 x%n (n-1)*b 对于加法,减法,乘法 什么…