主要内容:
1、jQuery概念,使用;
2、jQuery.ready和window.onload区别;
3、jQuery对象和DOM对象互转;
4、jQuery增删查改DOM;
5、jQuery AJAX请求:$.ajax、$.get、$.post、$.getJSON;
6、jQuery绑定事件:on和事件别名;
7、jQuery操作动画;
练习:
1. jQuery请求网易云音乐歌单接口;
2. jQuery轮播图,jQuery选项卡;
1. 什么是jQuery? 或者问你接触过jQuery吗?
jQuery是前端流行的脚本库,旨在用最少的代码,写最多的逻辑,号称:wirte less,do more。它内置大量的API,可以方便开发者操作DOM,进行AJAX请求,绑定事件,实现动画,链式调用等。近几年,随着前端技术的发展,各种框架蜂拥,如:Vue, React, Angular等,造成jQuery市场占有率下降。但在不使用框架的情况下开发项目时,jQuery还是有一席之地的。
jQuery => javascript Query
2. jQuery的如何使用? 或者使用步骤?
jQuery脚本库和使用其他插件库一样,分为以下几个步骤:
a. 下载jQuery.js或者使用cdn网络加速服务。
b. 在文档中引入jQuery.js
c. 在文档中使用jQuery.js
注:目前各大流行前端开发工具,如:VSCode, sublime, HBuilder等全面支持jQuery智能提示
下载地址:
https://jquery.com/
API文档:
https://api.jquery.com/
https://jquery.cuishifeng.cn/index.html
https://www.jquery123.com/
3. jQuery的常用API?(重点***)
学习jQuery工具库,主要学习它提供的各种API。
从如下几个方面自行总结:
各种选择器API
增删查改DOM的API
AJAX相关的API
循环相关的API
事件相关的API
动画相关的API
4. jQuery ready()和window.onload()事件的区别?(面试题)
根据文档自行总结:
https://www.jianshu.com/p/6a07ecfc505f
https://www.cnblogs.com/lovelygrass/p/3628540.html
https://blog.csdn.net/bigbear00007/article/details/80742764
1. 加载模式不同
window.onload事件会等DOM创建完毕,还要等到包括图片、音频、视频在内的所有外部资源都加载完毕才会执行。
缺点:如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在window.onload事件上的代码在执行时,有明显的延迟,影响用户体验。
jQuery中的ready函数只须等待DOM加载完毕,无须等待图像或外部资源的加载,执行起来更快
2.会不会被覆盖
window.onload事件,如果编写多个,后面的会覆盖前面的,所以只能订阅一次。
jQuery中的$(document).ready()可以在代码里编写多个,浏览器会根据它们在页面中出现的先后顺序依次执行它们。
因此,jQuery中的ready()函数比JavaScript中的window.onload事件更适用
5. jQuery.js中的$对象和其他脚本库冲突时怎么办?(面试题)
根据文档自行总结:
http://www.zzvips.com/article/217733.html
解决jQuery的$冲突问题
很多JavaScript的库使用$作为变量名,如果我们同时引用两个使用$作为变量名,或者引入两个不同版本的jQuery时,就可能会出现$冲突问题。
作为解决办法,我们可以使用
jQuery.noConflict()
具体应用方法
方法一
一种方法是使用jQuery来代替$
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict(); // 让jQuery放弃$变量的控制
jQuery("div")... // 使用jQuery来代替$
$("div")... // 其他库正常使用$
</script>
第一种方法有一个问题是我们必须全部使用jQuery来代替$,如果我们还想用$,我们可以参考以下两种方法。
方法二
这种方法是使用jQuery.ready()形成闭包,在闭包中运行jQuery代码
jQuery.ready() => 当DOM准备就绪时,指定一个函数来执行。
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict(); // 让jQuery放弃$变量的控制
jQuery(document).ready(funciton($){
... // jQuery代码在这里
})
... // 其他库代码在这里
</script>
方法三
这种方法是使用立即执行函数,让$作为函数的变量,调用jQuery作为$。
<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict(); // 让jQuery放弃$变量的控制
(function($){}
... // jQuery代码在这里
)(jQuery)
... // 其他库代码在这里
</script>
阅读: