jQuery简介、引入jQuery、jQuery核心函数、jQuery对象、jQuery对象操作class、addclass补充、jQuery对象复制——jQuery
目录
一、jQuery简介
二、引入jQuery
三、jQuery核心函数
四、jQuery对象
五、jQuery对象操作class
六、addClass补充
七、jQuery对象复制
一、jQuery简介
jQuery是一个快速的、小型的、具有丰富功能的JavaScript库。它的出现使得网页中的DOM、事件、动画、Ajax等操作变得更加简单,“写更少的代码,做更多的事儿”是jQuery一直坚信的开发理念。
库就是一组编写好的代码。这组代码中包含了一些已经定义好的对象和函数。只需要将库引入到页面中,即可直接使用这些对象和函数。
jQuery—— 一个过时的库
所有的库都是为了解决开发时的痛点而存在的。jQuery解决的问题主要有两个:简化DOM操作、解决浏览器的兼容问题。然而随着前端的发展、DOM标准的更新、IE的消亡,这两个问题已经不是什么大问题了,以及React、Vue、Angular大型框架的出现,使用jQuery的机会越来越少,所以没有学习jQuery的必要了。如果比较赶时间,可以跳过jQuery的学习。
二、引入jQuery
使用库就需要先把这组代码引入到页面中,也就是引入库。实际的操作就是通过script标签引入一个外部的js 文件,这一点所有的库都是一样的。
引入jQuery:
1.可以直接下载jQuery脚本文件,然后放入本地服务器,并在网页中通过script 标签进行引入
2.也可以通过公共的cdn引入,使用公共cdn比较简单,以字节跳动静态资源为例,要引入3.x版本的jQuery,只需要将如下代码粘贴到网页中即可:
<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.js"></script><script>console.log($);//判断是否成功引入jQuery</script>
或者这个:
<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js"></script><script>console.log($);//判断是否成功引入jQuery</script>
如何自己下载获取jQuery文件?
去jQuery官网(jQuery) ,点击下载,然后选择要下载的版本
三、jQuery核心函数
引入jQuery库,其实就是向网页中添加了一个新的函数$(jQuery)
- $ 是jQuery中的核心函数,jQuery的所有功能都是通过该函数来进行的
- 核心函数的功能(两种作用)
1. 将它作为对象使用,此时是一个工具类
- 在核心函数中jQuery为我们提供了多个工具方法
jQuery.isArray( ) 检查是不是数组
jQuery.isFunction( ) 检查是不是函数
jQuery.isNumeric( ) 检查是不是数值
2. 将它作为函数调用,根据不同参数的不同可以发挥不同的作用
jQuery( 函数 ) 将一个函数作为$的参数
- 这个函数会在文档加载完毕之后执行
- 相当于document.addEventListener("DOMContentLoaded",function(){ })
jQuery( 选择器 ) 将选择器字符串作为参数
- jQuery 自动去网页中查找元素
- 作用类似于 document.querySelectorAll( "...")
- 注意:通过jQuery核心函数查询的结果并不是原生的DOM对象,
而是一个经过jQuery包装过的新的对象,这个对象我们称其为jQUery对象 jQuery对象不能直接调用原生DOM对象的方法,
通常我们为jQuery对象命名时,会使用$开头(为了区分 $对象和DOM原生对象)
jQuery( DOM对象) 将DOM对象作为参数
- 可以将DOM对象转换为jQuery对象,从而使用jQuery对象的方法
jQuery( HTML代码 ) 将HTML代码作为参数
- 会根据html 代码来创建元素
注意:上述编写代码时,可以使用$ 代替jQuery
注意:在jQuery中我们设置变量时,使用var ,因为一般使用jQuery说明比较旧的项目,考虑兼容性,同时也尽量避免使用箭头函数
1. 将jQuey作为对象(工具类)调用的例子
<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.js"></script><script>console.log(jQuery === $);//truefunction fn(){}var num = 10// jQuery.isFunction( ) 检查是不是函数console.log($.isFunction(num));//falseconsole.log($.isFunction(fn));//true// 可以使用typeof检查类型console.log(typeof fn === "function");//true</script>
2. 将其作为函数调用的例子
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>document</title><script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.js"></script><script>// 将一个函数作为$的参数// $(function(){// alert("核心函数~~")// })// alert("核心函数外~~")// 将选择器字符串作为参数$(function(){// 通过jQuery核心函数查询的结果可以直接调用click,因为其是jQUery对象 $("#btn01").click(function(){// alert("你点我干嘛")var btn = document.getElementById("btn01")// 所以为了区分 jQUery对象和DOM原生对象,// 我们一般为 jQUery对象 命名时,会为其加上一个$ var $btn2 = $("#btn01")// 将DOM对象作为参数传进去,可以将DOM对象转换为jQuery对象alert($(btn))//[object Object]alert(btn);//[object HTMLButtonElement]alert($btn2);//[object Object]var $h1 = $("<h1>我是一个标题</h1>")//会根据html代码创建元素alert($h1)//[object Object],是一个jQuery对象$("div").append($h1)//把创建的h1加入到div中})}) </script>
</head>
<body> <div></div><button id="btn01" type="button">点我一下</button>
</body>
四、jQuery对象
jQuery对象
- 通过jQuery核心函数获得到的对象就是jQuery对象
- jQuery对象是jQuery中定义的对象,可以将其理解为DOM对象的升级
在jQuery对象中为我们提供了很多简单易用的方法来帮助我们简化DOM操作
- jQuery对象本质上是一个DOM对象的数组(类数组)
可以通过索引获取jQuery 对象中的DOM对象,注意获取的是DOM对象
- 当我们修改jQuery对象,它会自动修改jQuery对象中的所有元素
这一特点称为jQuery的隐式迭代
- 通常情况下,jQuery对象的方法的返回值依然是一个jQuery对象
所以我们可以调用一个方法后继续调用其他的jQuery对象的方法
这一特性称为jQuery对象的 链式调用
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>document</title><script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.js"></script></head>
<body> <button id="btn01">点我一下</button><ul><li id="swk">孙悟空</li><li id="zbj">猪八戒</li><li>沙和尚</li><li>唐僧</li></ul><script>$("#btn01").click(function(){var $li = $("li")//将其转换为jQuery对象// alert($li.length)// jQuery对象本质上是一个DOM对象的数组(类数组)// alert($li[0].textContent)// 用索引获取jQuery对象中的DOM对象,注意取出来的是DOM对象// $li.text("哈哈哈")//修改jQuery对象中的所有元素var text = $li.text()//读取文本,返回所有标签中的文本内容var id = $li.attr("id")//读取属性,只返回第一个标签的属性alert(text)//读取到其所有内容alert(id)//swk, 读取属性,只返回第一个标签的属性var result = $li.text("新的文本内容")alert(result === $li);//true 通常情况下,jQuery对象的方法的返回值依然是一个jQuery对象// $li.text("新的文本内容")返回jQuery对象,也就是$li$li.text("新的文本内容").css("color","red")//可以调用一个方法后继续调用其他的jQuery对象的方法// jQuery对象的 链式调用})</script>
</body>
五、jQuery对象操作class
addClass( )
- 为jQuery对象添加一个或多个class
- 可以接收一个回调函数作为参数,
回调函数中有两个参数:1.当前元素的索引,2.当前元素的类名
在回调函数中this 就是当前的元素,但this是一个DOM对象,不能调用jQuery对象的方法
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>document</title><script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.js"></script><style>.box1{width: 200px;height: 200px;background-color: #bfa;}.box2{border: 10px red solid;}.box3{background-color: orange;}</style><script>$(function(){// 为按钮绑定响应函数$("#btn").click(function(){// // 为box1添加class// // addClass()可以为元素添加一个或多个class// $(".box1").addClass(["box2","box3"])//可以使用数组的形式添加多个class// // 与"box2 box3"相同// // 具有隐式迭代的特点,可以为所有的box1类添加class// addClass可以接收一个回调函数作为参数$(".box1").addClass(function(index,className){// alert(index + "--" + className)// 在回调函数中this 就是当前的元素alert(this);//[object HTMLDivElement]// 说明this是一个DOM对象,不能调用jQuery对象的方法if(index % 2 == 0){// 添加box2// this.classList.add("box2") //this是一个DOM对象$(this).addClass("box2")//将this 转换为jQuery对象,可以调用jQuery对象的方法}else{// 添加box3// this.classList.add("box3")$(this).addClass("box3")}})})})</script>
</head>
<body> <button id="btn">点我一下</button><hr><div class="box1"></div><div class="box1"></div><div class="box1"></div></body>
hasClass( )
- 检查 jQuery对象是否含有某个class
removeClass( )
- 删除jQuery对象的指定class
toggleClass( )
- 切换jQuery对象的指定class
六、addClass补充
addClass( )的回调函数的返回值会成为当前元素的class
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>document</title><script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.js"></script><style>.box1{width: 200px;height: 200px;background-color: #bfa;}.box2{border: 10px red solid;}.box3{background-color: orange;}</style><script>$(function(){// 为按钮绑定响应函数$("#btn").click(function(){$(".box1").addClass(function(index){// 回调函数的返回值会成为当前元素的class// return ["box2","box3"]if(index % 2 == 0){return "box2"}else{return "box3"}})})})</script>
</head>
<body> <button id="btn">点我一下</button><hr><div class="box1"></div><div class="box1"></div><div class="box1"></div></body>
七、jQuery对象复制
clone( ) 用来复制jQuery对象
- 只会复制元素本身,不会复制元素的事件
- 在clone( )中传入一个参数true,表示不仅复制元素本身,还包括其事件、数据等
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>document</title><script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.js"></script><script>/* 点击按钮,使得孙悟空添加到 list2 中*/$(function(){$("#list li:nth-child(1)").click(function(){alert("孙悟空")})// clone( )用来复制jQuery对象// var $swk = $("#list li:nth-child(1)").clone()// 只会复制元素本身,不会复制元素的事件,所以在list2中添加的孙悟空不会有点击出现“孙悟空"的事件var $swk = $("#list li:nth-child(1)").clone(true)// 在clone()中传入一个参数true,表示不仅复制元素本身,还包括其事件、数据等var $list2 = $("#list2")$("#btn").click(function(){$list2.append($swk)})})</script>
</head>
<body> <button id="btn">点我</button><hr><ul id="list"><li>孙悟空</li><li>猪八戒</li></ul><ul id="list2"><li>沙和尚</li><li>唐僧</li></ul>
</body>
jQuery简介、引入jQuery、jQuery核心函数、jQuery对象、jQuery对象操作class、addclass补充、jQuery对象复制——jQuery相关推荐
- jQuery→简介引入、jQuery类数组对象$()与DOM对象、各种选择器、attr()、html() 、text()、val()
官网下载 https://jquery.com/download/ jQuery对象与DOM对象 jQuery类数组对象$('')转DOM对象 DOM对象转jQuery对象 id选择器 类选择器 元素 ...
- 解密jQuery内核 DOM操作的核心函数domManip
domManip是什么 dom即Dom元素,Manip是Manipulate的缩写,连在一起就是Dom操作的意思. .domManip()是jQuery DOM操作的核心函数 对封装的节点操作做了参数 ...
- jQuery(动画,核心函数)
基本的HTML布局 <div id="box"><img src="1.jpg" alt=""><img sr ...
- jQuery height()、innerHeight()、outerHeight()函数的区别详解
参考来源:http://www.jb51.net/article/84897.htm 代码示例(可复制到编辑器直接打开): 1 <!DOCTYPE html> 2 <html lan ...
- JavaWeb开发 前端语言:jQuery(一) jQuery核心函数、jQuery对象、jQuery选择器、以及jQuery元素筛选
JavaWeb开发 前端语言:jQuery 1.jQuery介绍 1.1 jQuery的初使用 1.2 使用jQuery的常用问题解析 2. jQuery核心函数介绍 3.区分jQuery对象与dom ...
- jQuery的核心函数
jQuery的核心函数有两个$和jQuery 我们拿两个例子来说一下 这两种代码都可以执行通过
- Mr.J-- jQuery学习笔记(二)--核心函数jQuery对象
核心函数 函数列表 函数说明:jQuery() 主要用于获取HTML DOM元素并将其封装为jQuery对象 jQuery(): jQuery()函数是jQuery库的最核心函数,jQuery的 ...
- [jQuery基础] jQuery核心函数和工具方法
核心函数 核心函数 调用jQuery的核心函数 $() jQuery 传递一个函数 $(function () {alert("hello lnj") } 接受一个字符串选择器 返 ...
- jQuery简介-01
目录 异步请求局部刷新 架构 技术栈 执行过程 jQuery简介 什么是jQuery jQuery的语法 jQuery的优势 jQuery的使用 文档就绪事件 测试 总结 异步请求局部刷新 架构 主流 ...
最新文章
- java中四种常用的引用类型_java中四种引用类型
- 设置远程访问mysql服务端的日志
- 平行相似定理_初中数学知识点----相似三角形
- androidstudio表格中填充 宽跟长一样_Excel表格的基本操作教程,覆盖表格制作的10大知识!...
- 分块读取Blob字段数据(Oracle)
- c语言电子计算器课程设计报告,计算机程序设计课程设计报告.doc
- 机器学习小字典(一)——SVM
- 解决手机端上的iframe无法触摸滚动
- bert模型使用记录
- 什么是云服务器ECS?
- WPF打开子窗口给父窗口添加蒙版效果
- VBA完整学习笔记1-39集(共60集)
- 业绩堪忧,上市曲折,友宝梦醒港股?
- PPT怎么用100张照片做照片墙?
- 双线性插值算法推导及代码实现
- 哈工大 计算机系统大作业 程序人生-Hello’s P2P From Program to Process
- PI数据库开发-java(读写pi中的时序数据和关系数据)
- Android OTA版本任意升级
- 使用一个高数值孔径离轴抛物面反射镜对飞秒脉冲聚焦
- CSS之通过伪元素添加图标字体