一.JQ概述
1. jQuery的概述
jQuery是一个优秀的javascript库,兼容css3和各大浏览器,提供了dom、events、animate、ajax等简易的操作。 并且jquery的插件非常丰富,大多数功能都有相应的插件解决方案。jquery的宗旨是 write less do
more。
JQ就是js库, 封装了JS常见的操作,我们使用JS起来更加的简单 (特别是dom这块)
2. jQuery的作用
jQuery最主要的作用是简化js的Dom树的操作 ,让js代码写起来更加简单
3. jQuery框架的下载
jQuery的官方下载地址:http://www.jquery.com
4. jQuery的版本
- 1.x:兼容IE678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日)
- 2.x:不兼容IE678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4 (2016年5月20日)
- 3.x:不兼容IE678,很多老的jQuery插件不支持这个版本。目前该版本是官方主要更新维护的版本.
- 注:开发版本与生产版本,命名为jQuery-x.x.x.js为开发版本,命名为jQuery-x.x.x.min.js为生产版本,开发版本源码格式良好,有代码缩进和代码注释,方便开发人员查看源码,但体积稍大。而生产版本没有代码缩进和注释,且去掉了换行和空行,不方便发人员查看源码,但体积很小
5.jQuery入门
步骤:
- 拷贝jq库到工程
- 把jq引入页面
- 等页面加载完成, alter(“hello…”);
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF‐8">
<title>Insert title here</title>
<!‐‐ 引入jQuery ‐‐>
<script type="text/javascript" src="../js/jquery‐3.3.1.js"></script>
<!‐‐ 测试jQuery ‐‐>
<script type="text/javascript">
$(function(){
alert("jQuery引入成功....");
});
</script>
</head>
<body>
</body>
</html>
注: 没有导入JQuery库会出现如下bug:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/60cec675e6823208146c95e4fe4182bf.png)
二.jQuery对象和JS对象转换
JS对象: document.getElemxxx() 获得的都是JS对象 大部分都是属性
JQ对象: $() 大部分都是方法
jQuery本质上虽然也是js,但如果使用jQuery的属性和方法那么必须保证对象是jQuery对象而不是js方式获得的DOM对象。使用js方式获取的对象是js的DOM对象,使用jQuery方式获取的对象是jQuery对象。两者的转换关系如下:
三.jQuery中事件的使用
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8b591e59c5e11d3391e14fa162b8c9b8.png)
1.事件在jq里面都封装成了方法. 去掉了JS里面on. 语法:
1.回顾js事件, 一般写标签的属性
<input type="button" onclick="函数"/>
2.jq事件语法
jq对象.事件方法名(function(){});
2.jQuery的事件绑定与解绑
jq对象.on(事件的类型,function(){} );
其中:事件名称是jQuery的事件方法的方法名称,例如:click、mouseover、mouseout、focus、blur等
jQuery元素对象.off(事件名称);
其中:参数事件名称如果省略不写,可以解绑该jQuery对象上的所有事件
3.事件切换
<script type="text/javascript">
$(function() {
$("#myDiv").mouseover(function() {
$(this).css("background", "green");
});
$("#myDiv").mouseout(function() {
$(this).css("background", "red");
});
});
</script>
<script type="text/javascript">
$(function() {
$("#myDiv").mouseover(function() {
$(this).css("background", "green");
}).mouseout(function() {
$(this).css("background", "red");
});
});
</script>
四.jq动画
1.基本效果
方法名称 | 解释 |
---|
show([speed],[easing],[fn]]) | 显示元素方法 |
hide([speed,[easing],[fn]]) | 隐藏元素方法 |
toggle([speed],[easing],[fn]) | 切换元素方法,显示的使之隐藏,隐藏的使之显示 |
参数名称 | 解释 |
---|
speed | 三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000) |
easing | 用来指定切换效果,默认是"swing",可用参数"linear" |
fn | 在动画完成时执行的函数,每个元素执行一次 |
2.滑动效果
方法名称 | 解释 |
---|
slideDown([speed,[easing],[fn]]) | 向下滑动方法 |
slideUp([speed,[easing],[fn]]) | 向上滑动方法 |
slideToggle([speed],[easing],[fn]) | 切换元素方法,显示的使之隐藏,隐藏的使之显示 |
参数名称 | 解释 |
---|
speed | 三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000) |
easing | 用来指定切换效果,默认是"swing",可用参数"linear" |
fn | 在动画完成时执行的函数,每个元素执行一次 |
3. 淡入淡出效果
方法名称 | 解释 |
---|
fadeIn([speed,[easing],[fn]]) | 淡入显示方法 |
fadeOut([speed,[easing],[fn]]) | 淡出隐藏方法 |
fadeToggle([speed],[easing],[fn]) | 切换元素方法,显示的使之隐藏,隐藏的使之显示 |
参数名称 | 解释 |
---|
speed | 三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000) |
easing | 用来指定切换效果,默认是"swing",可用参数"linear" |
fn | 在动画完成时执行的函数,每个元素执行一次 |
五.选择器
选择器的作用: 得到标签对象, 获得就是JQ对象
1.基本选择器
选择器名称 | 语法 | 解释 |
---|
标签选择器(元素选择器) | $(“html标签名”) | 获得所有匹配标签名称的于元素 |
id选择器 | $("#id的属性值") | 获得与指定id属性值匹配的元素 |
类选择器 | $(".class的属性值") | 获得与指定的class属性值匹配的元素 |
2. 层级选择器
选择器名称 | 语法 | 解释 |
---|
后代选择器 | $("A B ") | 选择A元素内部的所有B元素 |
子选择器 | $(“A > B”) | 选择A元素内部的所有B子元素 |
兄弟选择器 | $(“A + B”) | 获得A元素同级的下一个B元素 |
兄弟选择器 | $(“A ~ B”) | 获得A元素同级的所有B元素 |
3.属性选择器
选择器名称 | 语法 | 解释 |
---|
属性选择器 | $(“A[属性名]”) | 包含指定属性的选择器 |
属性选择器 | $(“A[属性名=值]”) | 包含指定属性等于指定值的选择器 |
4.基本过滤选择器
选择器名称 | 语法 | 解释 |
---|
首元素选择器 | :first | 获得选择的元素中的第一个元素 |
尾元素选择器 | :last | 获得选择的元素中的最后一个元素 |
非元素选择器 | :not(selecter) | 不包括指定内容的元素 |
偶数选择器 | :even | 偶数,从 0 开始计数 |
奇数选择器 | :odd | 奇数,从 0 开始计数 |
等于索引选择器 | :eq(index) | 指定索引元素 |
大于索引选择器 | :gt(index) | 大于指定索引元素 |
小于索引选择器 | :lt(index) | 小于指定索引元素 |
5.表单属性选择器
选择器名称 | 语法 | 解释 |
---|
可用元素选择器 | :enabled | 获得可用元素 |
不可用元素选择器 | :disabled | 获得不可用元素 |
选中选择器 | :checked | 获得单选/复选框选中的元素 |
选中选择器 | :selected | 获得下拉框选中的元素 |
六.语法
1.jQuery操作CSS样式
API方法 | 解释 |
---|
css(name) | 获取CSS样式 |
css(name,value) | 设置CSS样式 |
2.jQuery操作标签的类名
API方法 | 解释 |
---|
addClass(value) | 给指定的对象添加类名 |
removeClass(value) | 给指定的对象删除类名 |
toggleClass(value) | 如果没类名,则添加,如果有类名,则删除 |
3.jQuery操作标签属性
API方法 | 解释 |
---|
attr(name,[value]) | 获得/设置属性的值 |
prop(name,[value]) | 获得/设置属性的值(checked,selected) |
attr与prop的注意问题
attr与prop是以1.6为界限
checked 和 selected 建议 使用prop获取
其他使用attr获取