参考哔哩哔哩pink老师课程
1. jQuery 概述
1.1 JavaScript 库
仓库:可以把很多东西放到这个仓库里面。找东西只需要到仓库里面查找到就可以了。 JavaScript 库:即 library,是一个封装好的特定的集合(方法和函数)。从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如动画 animate、hide、show,比如获取元素等。
简单理解:就是一个JS文件,里面对我们原生js代码进行了封装,存放到里面。这样我们可以快速高效的使用这些封装好的功能了。
比如 jQuery,就是为了快速方便的操作 DOM,里面基本都是函数(方法)。
常见的 JavaScript 库:
- jQuery
- Prototype
- YuI
- Dojo
- Ext JS
- 移动端的zepto
这些库都是对原生JavaScript的封装,内部都是用 JavaScript 实现的,我们主要学习的是jQuery。
1.2 jQuery 的概念
jQuery 是 一个快速、简洁的 JavaScript 库,其设计的宗旨是 “write Less , Do More”,即倡导写更少的代码,做更多的事情。
j 就是 JavaScript;Query 查询;意思就是查询 js ,把 js 中的 DOM 操作做了封装,我们可以快速的查询使用里面的功能。
jQuery 封装了 JavaScript 常用的功能代码,优化了 DOM 操作、事件处理、动画设计和 Ajax 交互。
学习 jQuery 本质∶就是学习调用这些函数(方法)。
jQuery 出现的目的是加快前端人员的开发速度,我们可以非常方便的调用和使用它,从而提高开发效率。
1.3 jQuery 的优点
- 轻量级。核心文件才几十kb,不会影响页面加载速度
- 跨浏览器兼容。基本兼容了现在主流的浏览器
- 链式编程、隐式迭代
- 对事件、样式、动画支持,人大简化了 DOM 操作
- 支持插件扩展开发。有着丰富的第三方的插件,例:树形菜单、日期控件、轮播图等
- 免费、开源
2. jQuery 的基本使用
2.1 jQuery 下载与使用
官网:jquery.com
版本:
- 1x:兼容IE678等低版本浏览器,官网不再更新
- 2x:不兼容IE 678等低版本浏览器,官网不再更新
- 3x:不兼容IE 678等低版本浏览器,是官方主要更新维护的版本
使用:将下载的 JS 脚本引入 HTML 即可
2.2 jQuery 的入口函数
方式一:(主要)
$(function () {
// 此处是页面DOM加载完成的入口
});
方式二
$(document).ready(function () {
// 此处是页面DOM加载完成的入口
});
- 等着 DOM 结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery 帮我们完成了封装。
- 相当于原生 js 中的
DOMContentLoaded。 - 不同于原生 js 中的
load事件是等页面文档、外部的js文件、css文件、图片加载完毕才执行内部代码。 - 更推荐使用第一种方式。
2.3 jQuery 的顶级对象 $
$是jQuery的别称,在代码中可以使用jQuery代替$,但一般为了方便,通常都直接使用$。$是jQuery的顶级对象,相当于原生 JavaScript 中的window。把元素利用$包装成jQuery对象,就可以调用jQuery的方法。
2.4 jQuery 对象和 DOM 对象
2.4.1 对比
- 用原生 JS 获取来的对象就是 DOM 对象
- jQuery 方法获取的元素就是 jQuery 对象
- jQuery 对象本质:通过
$把 DOM 元素进行了包装,返回的形式是 伪数组形式。 - jQuery 对象只能使用 jQuery 方法,DOM 对象则使用原生的 JavaScirpt 属性和方法
- DOM 对象不能使用 jQuery 里面的
hide等方法,jQuery 对象不能使用原生 JS 的属性和方法
2.4.2 联系
DOM 对象与 jQuery 对象之间是可以相互转换的。
因为原生 js 比 jQuery 更大,原生的一些属性和方法 jQuery 没有给我们封装。要想使用这些属性和方法需要把 jQuery 对象转换为 DOM 对象。DOM 对象转换为 jQuery 对象直接使用 $(DOM对象);jQuery 对象是一种伪数组的形式,可通过索引转换为 DOM 对象。
-
DOM对象转换为 jQuery 对象:
$(DOM对象)$('div) -
jQuery 对象转换为 DOM 对象:
$(DOM对象)[index]$(DOM对象).get(index)