1.jQuery概诉
1.1 javaScript库
仓库:可以把很多东西放到这个仓库里面,找东西只需要到仓库里面查找到就可以了
javaScript库:即library,是一个封装好的特定的集合(方法和函数)。
从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如动画animate,hide,show比如获取元素
简单理解:库就是一个JS文件,对原生JS代码进行封装,高效使用
常见的javaScript库
-
jQuery
-
prototype
-
YUI
-
Dojo
-
Ext js
-
移动端的zepto
1.2 jQuery的概念
jQuery 是一个快速、简介的javaScript库,宗旨是"write Less,Do More" ,倡导写更少的代码做更多的事情
j 是 javaScript ,Q 是 Query查询,意思就是查询js,把js中的DOM操作做了封装,可以快速的查询使用里面的功能
优化了DOM操作、事件处理、动画设计、Ajax交互
学习jQ的本质就是学习调用这些函数(方法),提高开发效率
1.3 jQuery 的优点
优点
-
轻量级。核心文件才几十kb,不会影响页面加载速度
-
跨浏览器兼容,基本兼容主流浏览器
-
链式编程,隐式迭代
-
对事件、样式、动画支持、大大简化DOM操作
-
支持插件扩展开发,如:树形菜单、日期控件、轮播图
-
免费、开源
2.jQ的基本使用
2.1 jQuery的下载
1x :兼容 IE 678 等低版本浏览器, 官网不再更新
2x :不兼容 IE 678 等低版本浏览器, 官网不再更新
3x :不兼容 IE 678 等低版本浏览器, 是官方主要更新维护的版本
官网地址: https://jquery.com/
各个版本的下载:https://code.jquery.com/
2.2 jQuery的使用步骤
-
引入jQuery文件
-
使用即可
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="jquery.min.js"></script> <style> div { 200px; height: 200px; background-color: pink; } </style> </head> <body> <div></div> <script> $('div').hide() </script> </body> </html>
2.3 jQuery的入口函数
两种写法
$(document).ready(function() {
...// DOM加载完成的入口
})
$(function() {
...// DOM加载完成的入口
})
-
等着DOM结构渲染完毕即可执行内部代码,不用等待外部资源加载完成加载完成,jQuery帮我们完成了封装
-
相当于原生js中的DOMcontentLoaded
-
不同于原生js中的load事件是等页面文档、外部的js文件、css文件、图片加载完毕才执行内部代码
-
更推荐使用第一种方式
2.4 jQuery的顶级对象$
-
$是jQuery的别称,在代码中可以使用jQuery代替$,但一般为了方便,通常都直接使用$
-
$ 是jQuery 的顶级对象, 相当于原生JavaScript中的 window。把元素利用$包装成jQuery对象,就可以调用 jQuery 的方法。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="jquery.min.js"></script> <style> div { 200px; height: 200px; background-color: pink; } </style> </head> <body> <div></div> <script> // 1.$是jQuery的别称 $(function() { alert('11') }) jQuery(function() { alert('22') }) // 2.$是jQuery的顶级对象,相当于原生javaScript中的window </script> </body>
2.5 jquery对象和DOM对象
-
原生JS获取来的对象就是DOM对象
-
jQuery方法获取的元素就是jQuery对象
-
jQuery对象本质:利用$对DOM对象包装后产生的对象(伪数组形式存储)
-
jquery 对象只能使用jquery方法,DOM对象则使用 原生js属性和方法
这两个可以互相转换,因为原生js比jq更大,原生有的属性jq没有,想要使用这些属性和方法需要把jq对象转换DOM对象才能使用
DOM对转换jq对象
$(DOM对象)
jq对象转换为DOM对象
$('')[index]
$('').get(index)
演示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="jquery.min.js"></script>
</head>
<body>
<video src="mov.mp4" muted></video>
<script>
// 1. DOM对象转换为jquery对象
// (1)直接获取视频,得到jq对象
$('video')
// (2) 使用原生js 获取过来DOM对象
var myvideo = document.querySelector('video')
// $(myvideo).play() jq 没有play方法
// myvideo.play()
// 2.jq对象转换为DOM对象
$('video')[0].play()
$('video').get(0).play()
</script>
</body>
</html>