一.jQuery简介
(一). 什么是jQuery
- jQuery是一个轻量级, 简洁的JavaScript库, 是继Prototype之后的一个优秀的JavaScript库.
- jQuery的理念: Write Less , Do More (更少的代码,更多的功能)
(二). 如何下载jQuery
- jQuery的官方网站下载地址: jQuery官网
- 文章发布时的最新版本号为:
jQuery v3.2.1
- 下载完成后的文件名为:
jquery-3.2.1.min.js
(三)如何使用jQuery
1. script外链式
下载完成后只需要在html文档任意位置采用外链式引入jQuery文件,如下代码所示:
2.链式编程
(1). 链式编程简介: 通过在一个对象中通过"."去使用多个jQuery方法,这就叫做链式编程.
(2). 优点: 链式编程能够极大的简化代码量
(3). 缺点: 在一定程度上降低代码的可读性,所以在使用链式编程的时候,应该添加相应的注释.
(4). 大家可以通过以下代码感受一下jQuery的链式编程:
$("#box").find("div.icon").removeClass("Rotation").stop().animate({"opacity":"1"},"fast");
//以上代码在id名为box的标签下找到class为icon的div
//移出该div的Rotation类名
//停止该元素上正在执行的动画
//添加动画效果,改变透明度
(注意:以上是通过一个语句完成的,这就叫做jQuery的链式编程)
二. jQuery知识点
(一).jQuery对象和DOM对象的区别
1. DOM对象: 通过DOM的方法获取的对象叫做DOM对象
例如: 通过document.getElementById()
,document.getElementsByClassName()
等获取到的对象,为DOM对象
2. jQuery对象:通过:jQuery的$()
方法获取的对象叫做jQuery对象
例如: 通过var box = $("#box")
, 例如通过$()方法获取到的id名为box的对象,叫做jQuery对象
3. jQuery对象和DOM对象的区别:
(1). jQuery对象本质上是一个DOM对象的包装集——是DOM对象的一个集合
(2). jQuery对象可以理解为含DOM对象的一个伪数组
(3). jQuery对象不能使用DOM中的方法, 同理,DOM对象不能使用jQuery中的方法
4. jQuery对象和DOM对象的相互转换
(1). jQuery对象 => DOM对象 : 通过jQuery对象[index]
和 get()
方法
(2). DOM对象 => jQuery对象: 通过$(DOM对象)
(二).jQuery选择器
1.jQuery基本选择器
jQuery基本选择器完全继承了CSS1.0的风格
2.jQuery的筛选选择器
(1) 基本过滤选择器
选择器 | 描述 |
---|---|
:first | 选取第1个元素 |
:last | 选取最后一个元素 |
:not(selector) | 去除所有与给定选择器匹配的元素 |
:even | 选取索引是偶数的所有元素 |
:odd | 选取索引是奇数的所有元素 |
:eq(index) | 选取索引值等于index的元素 |
:gt(index) | 选取索引值大于index的元素 |
:lt(index) | 选取索引值小于index的元素 |
:header | 选取所有的标题元素,例如h1,h2,h3 |
:animated | 选取当前正在执行动画的所有元素 |
:focus | 选取当前获取焦点的元素 |
(2) 内容过滤选择器
选择器 | 描述 |
---|---|
:contain(text) | 选取含有文本内容为"text"的元素 |
:empty | 选取不包换子元素或者文本的空元素 |
:has(selector) | 选取含有选择器所匹配的元素的元素 |
:parent | 选取含所有子元素或者文本的元素 |
(3) 可见性过滤选择器
选择器 | 描述 |
---|---|
:hidden | 选取所有不可见的元素 |
:visible | 选取所有可见的元素 |
(4) 属性过滤选择器
选择器 | 描述 |
---|---|
[attribute] | 选取拥有此属性的元素 |
[attribute = value] | 选取属性的值为value的元素 |
(5) 子元素过滤选择器
选择器 | 描述 |
---|---|
:nth-child(index,even,odd) | 选取每个父元素下的第index个子元素/偶数元素/奇数元素 |
:first-child | 选取每个父元素的第1个子元素 |
:last-child | 选取每个父元素的最后一个子元素 |
:only-child | 选取某个元素是它父元素中的唯一的子元素 |
(6)表单对象属性过滤选择器
选择器 | 描述 |
---|---|
:enable | 选取所有可用元素 |
:disabled | 选取所有不可用的元素 |
:checked | 选取所有被选中的元素 |
:selected | 选取所有被选中的选项元素 |
3.jQuery表单选择器
选择器 | 描述 |
---|---|
:input | 选取所有的, 元素 |
:text | 选取所有的当行文本框 |
:password | 选取所有的密码框 |
:radio | 选取所有单选框 |
:checkbox | 选取所有的多选框 |
:submit | 选取所有的提交按钮 |
:image | 选取所有的图像按钮 |
:reset | 选取所有的重置按钮 |
:button | 选取所有的按钮 |
:file | 选取所有的上传域 |
:hidden | 选取所有不可见元素 |
(三).jQuey的常用方法
1.对象访问
each()
index()
$.noConlict() //解决多库共存
2.属性:
attr()
removeattr()
prop()
removeProp()
3.CSS类型
css()
addClass()
removeClass()
toggleClass()
4.位置和尺寸
offset()
position()
scrollTop()
scrollLeft()
height()
innerHeight()
outerHeight()
width()
innerWidth()
outerWidth()
5.文本和HTML
html()
text()
val()
(四).节点操作
1. 创建节点: 通过$()内包裹html标签的方式创建jQuery节点,如$("")
2. 插入节点:
append()
appendTo()
prepend()
prependTo()
after()
before()
3.删除节点
empty() //删除对象元素中所有的子节点
remove() //删除调用该方法的对象的节点
4.复制节点
clone(true/fasle) // 该clone()都是深度赋值
//传递参数false,不会复制其事件;传递参数true,会复制其事件
(五).jQuery事件
1. 事件名: DOM操作中的事件名去掉"on", 即成为jQuery中的事件名,如下所示
DOM事件 | jQuery事件 |
---|---|
onclick | click |
onmouseenter | mouseenter |
onblur | blur |
onkeyup | keyup |
2. 事件注册
on()
off()
trigger()
3. 事件委托
delegate()
undelegate()
(六).jQuery动画
1.基本动画
(1)显示和隐藏
show()
hide()
(2)滑动显示
slideDown()
slideUp()
slideToggle()
(3)淡入淡出
fadeIn()
fadeOut()
fadeTo()
fadeToggle()
2.自定义jQuery动画
animate(p,[s],[e],[fn])
//参数1: 一组包含作为动画属性和终止的样式属性和及其值的几个
//参数2:执行动画时长的毫秒值,可以是数值类型,也可以是("slow","normal","fast")
//参数3: 动画速度:默认swing(先慢后快再慢) , 可选:linear(匀速)
//参数4: 回调函数,在动画执行完毕后执行该函数
3.动画停止和延时
stop(): //可以传入两个参数,默认都是false.
//参数1:如果设置为true,清空动画队列
//参数2:如果设置为true,将动画队列中当前正在执行的动画立即变为最终效果
//注意: 在使用动画之前最好都使用stop()方法
delay() //设置一个延时来推迟该方法之后的动画事件
//传入的参数为时间(毫秒)
三.相关链接
1.jQuery官方网站: http://jquery.org
2.jQuery API中文文档: http://www.jquery123.com/
3.jQuery API查询地址: http://jquery.cuishifeng.cn/