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