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