Jquery的安装和使用
安装:
下载JQuery文件并把文件放到web项目中
下载网址:http://jquery.com
使用:
直接引入jQuery的核心JS文件
![174fba7da74645a77fc47e576ce4278a.png](https://i-blog.csdnimg.cn/blog_migrate/6eb1575eb8fd2c27884de483894e05e1.png)
注意:
(1)引入jQuery的script标签可以放在推荐放在body标签后
(2)如果script标签设置了src属性,则在script双标签中写的js代码无效
4.常用操作:
![909368bab388f23f4796813328aac6f1.png](https://i-blog.csdnimg.cn/blog_migrate/07f9f34898d775e28df3e064c3d1eaf9.png)
![eb313cc9be031cd6fe44427155254c5c.png](https://i-blog.csdnimg.cn/blog_migrate/458b5fb8f676f5a3f1cc959e4c8030a6.png)
5.DOM对象与jQuery对象之间的相互转换:
(1)DOM ===> jQuery
在DOM对象外面包装JQery $(dom对象)
(2)JQuery ===> DOM
JQuery包装集取下标 JQuery包装及对象[0]
JQuery中的each()遍历函数:
each(fucntion):
![bd7bf79a1003411479cb8e00a9121a67.png](https://i-blog.csdnimg.cn/blog_migrate/723d591718a5da7ed5be7ca7f587cc3f.png)
this:谁调用函数,this指代谁
jquery和js获取节点的区别
Js:如果节点不存在返回null
jQuery:如果节点不存在返回空包装集对象
所以判断jQuery对象是否存在需要用到length
JQuery选择器
基础选择器Basics(掌握即可)
![cec7f8d21ab2360aa74ee5f8fffc926c.png](https://i-blog.csdnimg.cn/blog_migrate/d8946217ad4d0865697d159b49019bab.png)
举例:假设body中有这些元素
![400cefa9eeec022f5f62bc062dfd42e9.png](https://i-blog.csdnimg.cn/blog_migrate/1ac48ceac9daa03272f0195d17cffa66.png)
用基础选择器依次对其操作
Id选择器 $("#id属性值")
![636d1d8b1e6c417e4b7f5323da4cc97f.png](https://i-blog.csdnimg.cn/blog_migrate/8c7278e7254581895738cf033dac678d.png)
类选择器 $(".class属性值")
![4d26a49906c0d600babae0079fafdc6d.png](https://i-blog.csdnimg.cn/blog_migrate/2914b8bc25e19247ca1add04edc0c6f2.png)
元素选择器 $("元素名/标签名")
![aa0fa25b37421eab54791bf2fee4ad09.png](https://i-blog.csdnimg.cn/blog_migrate/e4967abebe6f1c162db1ab2cede3dee1.png)
选择所有选择器 $("*")
![07b44c26b8d42ee3fcd84b9f413fb668.png](https://i-blog.csdnimg.cn/blog_migrate/aa654d172df721ce8279f3f7bad962b3.png)
组合选择器 $("选择器1,选择器2...")
![4de461b121e2639e7af4458de784776e.png](https://i-blog.csdnimg.cn/blog_migrate/bbb1081e58dc38107d6ec7537688b0f1.png)
层次选择器
![3aef5f8102cb42f3ee079ba2ce9e9b09.png](https://i-blog.csdnimg.cn/blog_migrate/08135056a12066c6a1cc9b8344039c07.png)
举例:假设body中有这些元素
![b5b2af25f0faa8ae1a193256b0ebba99.png](https://i-blog.csdnimg.cn/blog_migrate/1a28eef93f6a6afa60b2b795d5fcb9ab.png)
用层次选择器依次对其操作
后代选择器 ncestor descendant、
![6f2234f037ff9a4bb8be939d36cec2a9.png](https://i-blog.csdnimg.cn/blog_migrate/0c2f196160b0ce044f3d196b76669e53.png)
子代选择器 parent>child
![051ed4cbf4b32a7b17572012f8d76767.png](https://i-blog.csdnimg.cn/blog_migrate/8ded13c568d426f4ddb40ea6e5a90de5.png)
相邻选择器 prev + next
![c285db14c43efd88aebd851d3db18a26.png](https://i-blog.csdnimg.cn/blog_migrate/2995287eee245f3a16a50d3457cc174d.png)
同辈选择器 prev ~ sibling
![3121959bac7498d83d5b8c5a85603260.png](https://i-blog.csdnimg.cn/blog_migrate/98214e0dc03616dbcdd86a738714bbd9.png)
注意:
相邻选择器是选择与当前元素同级的下一个相邻元素
同辈选择器是选择与当前元素同级的后面的左右元素
其他选择器
表单选择器
![a27b11371cc3e40d27628f415a8445a2.png](https://i-blog.csdnimg.cn/blog_migrate/926a3fa1ac190c812551bd6f13d95a1f.jpeg)
过滤选择器
$(":input") 选择所有的表单元素 (文本框、密码框、下拉框、文本域等....)
$(":input") 选择所有input标签元素
$(":checked") 选择所有选中状态的元素(单选框和复选框)
$(":checkbox:checked") 选择所有复选框被选中的元素
$(":checkbox:checked:gt(0)") 选择下标大于指定值的元素
$(":checkbox:checked:eq(0)") 匹配被选中的选择的指定下表元素
$(":checkbox:checked").eq(1) 同上
$(":odd") 选择所有基数下标的元素
$(":even") 选择所有偶数下标的元素
属性选择器
$(“[属性名]”) 选择所有设置过指定属性的元素
$(“[属性名=属性值]”) 选择属性名等于指定值的元素
jQuery的DOM操作
操作元素的属性
假设body中有这些元素
![858498e46fdb0c04ad8175bc8ec98ba0.png](https://i-blog.csdnimg.cn/blog_migrate/e0e13c42035b97838a57385a356659dc.png)
方法
<1>获取属性
![00def216822b69cb84b5e4fc5256dc20.png](https://i-blog.csdnimg.cn/blog_migrate/bbcc86e346aeabe01e92ea8598305010.png)
固有属性:元素本身就有的属性
![9cdcafb043263924ee265ac7c231b2ac.png](https://i-blog.csdnimg.cn/blog_migrate/05e420cb31c578d62239816d5020ddad.png)
自定义属性:
![4e7d11df3cef00b1e4072cdda6784e84.png](https://i-blog.csdnimg.cn/blog_migrate/b22c3905cd5d97693a6e28ccf8699e6f.png)
返回值是boolean类型的属性:
![4702aa796ffcd6cd956c917358704f25.png](https://i-blog.csdnimg.cn/blog_migrate/893498d602395f82a225be539fae79e8.png)
未设置过的checked属性:
![601898c1a846d302f62b613f0828a883.png](https://i-blog.csdnimg.cn/blog_migrate/8aba3c0c16102dd104b305cee6c21947.png)
<2>设置属性
![5fcb244cd63185fd010541b2f28afa85.png](https://i-blog.csdnimg.cn/blog_migrate/50d3ec5c52dbf75efea64c6ef010d82e.png)
固有属性:元素本身就有的属性
![d8765a2b443909e7f3dd15e45c3d0cb1.png](https://i-blog.csdnimg.cn/blog_migrate/e6fa16ce84c28a0c9228ece936964ed3.png)
自定义属性:
![6058ca5779d79490ffef0f04cda7df8b.png](https://i-blog.csdnimg.cn/blog_migrate/935a34abfbe4dfd0c175463ce124d481.png)
返回值是boolean类型的属性:
![0f9e18c795035ce873fb1bc3e966335b.png](https://i-blog.csdnimg.cn/blog_migrate/bbce2cfc625455bb85de96a021d983a9.png)
<3>移除属性
![b2f71087a0a7ca7b1ccbddb451adf59b.png](https://i-blog.csdnimg.cn/blog_migrate/3ddfddfda91c26455db93ba5296fcb13.png)
![949f288f61fcb9177e1c81512cc0ccba.png](https://i-blog.csdnimg.cn/blog_migrate/ef9fc526cc6b58277ee59c1b85680606.png)
区别
1、固有属性:attr()和prop()都可使用
2、自定义属性:attr()可用,prop()不可用
3、返回值是boolean的属性:
attr():如果设置过,则返回具体值,若未设置过,返回undefined
prop():返回true和false
返回值是boolean类型的属性:
checked(单选和复选选中状态)、selected(下拉框选中状态)、disabled(禁用)
总结:
返回值是boolean类型的属性,使用prop();其他的属性使用attr()
操作元素的样式
(1)方法
![8b0f4ecccc3bade3497748caac11b2e6.png](https://i-blog.csdnimg.cn/blog_migrate/f50394d276fe0d54adda7fe0e363db84.png)
(2)实例
假设元素和样式为以下
![1ebaadb930bddb8187c43df589b4801c.png](https://i-blog.csdnimg.cn/blog_migrate/c2ac449f815e111dacc0dd3d8bffeabb.png)
![3c581cf86b0b12eb4d688d603dc5db15.png](https://i-blog.csdnimg.cn/blog_migrate/0c2c8d0f667a39d1404b8461e8fc244c.png)
attr(“class”) 获取 class 属性的值,即样式名称
![92925aef2e6d8721538b9466bf401939.png](https://i-blog.csdnimg.cn/blog_migrate/758bbfdf90554a1355ac432f4a71223d.png)
attr(“class”,”样式名”) 修改 class 属性的值,修改样式
![6ff726f57384d8ac6a3ed91048e955a6.png](https://i-blog.csdnimg.cn/blog_migrate/61fea0d0b135610ea60e46dd57ba767d.png)
addClass(“样式名”) 添加样式名称
![d901220d7dea764bd3e4700c87c71b91.png](https://i-blog.csdnimg.cn/blog_migrate/27c55248fc109fe4f2550154784659fe.png)
css() 添加具体的样式 (定义在style属性中的样式)
设置一个样式 css("样式名","样式值")
![8fb6aa4fb0b24726845337855bbb6629.png](https://i-blog.csdnimg.cn/blog_migrate/4bc297ee2cd440656d931b72a9ee677a.png)
同时设置多个样式
![58ff5ad8bccb61fdbac5a82cde702da0.png](https://i-blog.csdnimg.cn/blog_migrate/30c999a3afe818d449af48c57d91e855.png)
removeClass(class) 移除样式名称
![4197807fbda677be37ebf28aceae41ed.png](https://i-blog.csdnimg.cn/blog_migrate/2c17ea38cb018bed3f64474999a8837d.png)
操作元素的内容
方法
![0ec64192c4a3c0c730d17b64ed4f351b.png](https://i-blog.csdnimg.cn/blog_migrate/1e0dc1473698175227ab44ea80be5117.png)
实例
对以下代码进行操作
![60b4783801bd7f7487d0446ac8149f43.png](https://i-blog.csdnimg.cn/blog_migrate/4d7d90218a9cf529bbe540610e25c30d.png)
设置
![0bec3f090f17abb25aae5abc92ff2a42.png](https://i-blog.csdnimg.cn/blog_migrate/5f0e83846abed29ece8834d87ba74011.png)
![d17c225b1215caebe45938d6b9b66623.png](https://i-blog.csdnimg.cn/blog_migrate/b9523ff66575e6b04591bde37a02563b.png)
取值
![b8371f92cbfcc42cf5ca403248b30e1a.png](https://i-blog.csdnimg.cn/blog_migrate/952dddc8c24d9d6402c96fe49363c213.png)
![22b02dc7def29dcb24ec38f9fcc93802.png](https://i-blog.csdnimg.cn/blog_migrate/5102290470edb49106c3d03b2e00f49e.png)
添加元素
方法
![889df8d6cfdb36fbbb732e28faf2fba5.png](https://i-blog.csdnimg.cn/blog_migrate/7e579b013910010f801e62fcfc65a368.png)
![ed62fe8de219ceabfdc9d575e5743226.png](https://i-blog.csdnimg.cn/blog_migrate/e2ce7acb64ed74c51569cdf588451e2e.png)
删除元素
(1)方法
![e3136aecbc6cbc63268c2c221f541051.png](https://i-blog.csdnimg.cn/blog_migrate/a79c5c6fdebc2b25dfb1ecd432fee53d.png)
(2)实例
![b0c9349c1885c5e1cd14ab4eec351311.png](https://i-blog.csdnimg.cn/blog_migrate/ee4cffae0242ae492537eb3a6b226ce1.png)
遍历元素
each()
$(selector).each(function(index,element)) :遍历元素
参数 function 为遍历时的回调函数,
index 为遍历元素的序列号,从 0 开始。
element 是当前的元素,此时是 dom 元素。
![21b90bb3a492bc10fcc1a6239b2b8759.png](https://i-blog.csdnimg.cn/blog_migrate/c063ff743a58be0ff71b1cf6e87c3c26.png)
jQuery事件
ready加载事件
onload事件与ready事件的区别:
当Dom结构加载完毕后,ready事件就执行;
当Dom结构加载完毕,并且引入的外部文件加载完毕,onload事件才会执行
ready事件可以同时写多个,按顺序执行
语法:$(document).ready(function(){});
缩写版:$(function(){});
![5ba764a6652e50d6f004cfc65a1647e6.png](https://i-blog.csdnimg.cn/blog_migrate/733c14d5ce65b87e80d7d1127c2aff4e.png)
![137fa7e9801405867f02c79e621b03e9.png](https://i-blog.csdnimg.cn/blog_migrate/793d8b90e894ac273b8e8c64bd9c01c1.png)
bind()绑定元素事件
为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。
1.确定为哪些元素绑定事件
获取元素
2.绑定什么事件(事件类型)
第一个参数:事件的类型
3.相应事件触发的,执行的操作
第二个参数:函数
实例:对以下按钮进行不同绑定事件
![e3d89448ca0f9ad3a7d4eedd1b1ed11a.png](https://i-blog.csdnimg.cn/blog_migrate/cfce3cd6d58f51bf7d23d91d66dd610c.png)
- 简单的bind()事件
![cf56e73c54ca915002792694e7bd2275.png](https://i-blog.csdnimg.cn/blog_migrate/83bce9f16887a84fe3e8f8501f4dc909.png)
- 原生的js点击事件
![d1a9c6fd3b00f7b9ebb0c174fbd9be6c.png](https://i-blog.csdnimg.cn/blog_migrate/21d156c28f40dbfee68c9bd159d9415a.png)
- 多个事件绑定同一函数
普通形式(多个事件绑定同一函数)
![12ba75a43d17fa87efab33dab7f3684d.png](https://i-blog.csdnimg.cn/blog_migrate/2033e52d6503b68a2513313eed45171e.png)
bind链式编程形式(多个事件绑定不同函数)
![3013471a51cf5496cd41932882b6d28a.png](https://i-blog.csdnimg.cn/blog_migrate/3f356e4c0db3926ea2d3e085d3e6a3f6.png)
简洁常用形式
![1b4a3a6ec09d9b9680421f1357d68332.png](https://i-blog.csdnimg.cn/blog_migrate/2e38e33932a9b3557ab1f7e4de5d5c99.png)