一:jQuery教程
1.什么是jQuery?
jQuery是一个JavaScript函数库
2.特性
HTML 元素选取
HTML 元素操作
CSS 操作
HTML 事件函数
JavaScript 特效和动画
HTML DOM 遍历和修改
AJAX
Utilities
优点:
(1)易于学习
(2)少写多做
(3)优秀的API文档
(4)跨浏览器支持
缺点:
(1)不支持组件化
(2)更适合DOM操作,项目复杂度较高时吗,jq能力有限
3.安装
有多种方法可以在网页中添加jQuery
(1)从jquery.com下载jQuery 库
(2)从CDN中载入 jQuery, 如从 百度中加载 jQuery
替换方式:通过CDN(内容分发网络)引用它
<head>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
</head>
4.语法
jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。
基础语法:$(selector).action()
说明:
美元符号定义jQuery
选择符(selector)"查询"和"查找"HTML元素
jQuery的action()执行对元素的操作
5.选择器
以下是jQuery几乎所有的各类型选择器
https://www.w3cschool.cn/jquery/jquery-ref-selectors.html
6.jQuery事件
(1)事件
页面对不同访问者的响应叫做事件
(2)常见DOM事件
(3)jQuery事件方法
以下是几乎所有的jQuery事件方法
https://www.w3cschool.cn/jquery/jquery-ref-events.html
(4)文档就绪事件
$(document).ready() 方法允许我们在文档完全加载完后执行函数
二:效果
1.隐藏与显示
隐藏:hide()
语法$(selector).hide(speed,callback);
显示:how()
语法:$(selector).show(speed,callback);
注:可选的speed参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
可选的callback参数是隐藏或显示完成后所执行的函数名称。
toggle()方法来切换hide()和show()方法。
语法:$(selector).toggle(speed,callback);
注:
可选的 speed参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
可选的callback参数是toggle()方法完成后所执行的函数名称。
可选的callback参数,具有以下三点说明:
$(selector)选中的元素的个数为n个,则callback函数会执行n次
callback函数名后加括号,会立刻执行函数体,而不是等到显示/隐藏完成后才执行
callback既可以是函数名,也可以是匿名函数
2.淡入淡出
(1)jQuery fadeIn()用于淡入已隐藏的元素。
语法:$(selector).fadeIn(speed,callback);
(2)jQuery fadeOut()方法用于淡出可见元素。
语法:$(selector).fadeOut(speed,callback);
(3)jQuery fadeToggle()方法可以在fadeIn()与 fadeOut()方法之间进行切换。
(4)jQuery fadeTo()方法允许渐变为给定的不透明度(值介于0与1之间)
语法:$(selector).fadeTo(speed,opacity,callback);
注:必需的speed参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
必需的opacity参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。
可选的callback参数是该函数完成后所执行的函数名称。
3.滑动
(1)jQuery slideDown() 方法用于向下滑动元素。
语法:$(selector).slideDown(speed,callback);
(2)jQuery slideUp() 方法用于向上滑动元素。
语法:$(selector).slideUp(speed,callback);
(3)jQuery slideToggle()方法可以在slideDown()与 slideUp()方法之间进行切换。
4.动画
jQuery animate()方法用于创建自定义动画,也可以操作多个属性,使用相对值,使用预定义值,使用队列功能
语法:$(selector).animate({params},speed,callback);
必需的params参数定义形成动画的 CSS 属性。
可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
可选的callback参数是动画完成后所执行的函数名称。
5.停止动画
jQuery stop()方法用于停止动画或效果
语法:$(selector).stop(stopAll,goToEnd);
注:可选的stopAll参数规定是否应该清除动画队列。默认是false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选的goToEnd参数规定是否立即完成当前动画。默认是false。
6.Callback方法
Callback函数在当前动画100%完成之后执行
7.Chaining
Chaining允许我们在一条语句中运行多个jQuery方法;用链接追加动作即可
三:jQuery HTML
1.jQuery 获取
(1)获取内容
text() 设置或返回所选元素的文本内容
html() 设置或返回所选元素的内容(包括HTML标记)
val() 设置或返回表单字段的值
(2)获取属性
attr()方法用于获取属性值
2.jQuery 设置
(1)设置内容
text() 设置或返回所选元素的文本内容
html() 设置或返回所选元素的内容(包括HTML标记)
val() 设置或返回表单字段的值
text()、html()以及val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
(2)设置属性
attr()方法也用于设置/改变属性值,attr()方法也允许同时设置多个属性。
(3)attr()的回调函数
回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
3.jQuery 添加元素
(1)append()方法在被选元素的结尾插入内容
(2)prepend()方法在被选元素的开头插入内容
(3)after()方法在被选元素之后插入内容
(4)before()方法在被选元素之前插入内容
append()和prepend()方法能够通过参数接收无限数量的新元素,after() before()方法也能够通过参数接收无限数量的新元素。
4.jQuery 删除元素
(1)remove()方法删除被选元素及其子元素
也可接受一个参数,允许对被删元素进行过滤
(2)empty()方法删除被选元素的子元素
5.jQuery CSS类
(1)addClass() 向被选元素添加一个或多个类
(2)removeClass() 从被选元素删除一个或多个类
(3)toggleClass() 对被选元素进行添加/删除类的切换操作
(4)css() 设置或返回样式属性
6.jQuery css()方法
css()方法设置或返回被选元素的一个或多个样式属性
(1)返回css属性:
语法:css("propertyname");
(2)设置css属性
语法:css("propertyname","value");
(3)设置多个css属性
语法:css({"propertyname":"value","propertyname":"value",...});
7.jQuery 尺寸
说明:
1>width()方法设置或返回元素的宽度(不包括内边距、边框或外边距)
2>height()方法设置或返回元素的高度(不包括内边距、边框或外边距)
3>innerWidth()方法返回元素的宽度(包括内边距)。
4>innerHeight()方法返回元素的高度(包括内边距)
5>outerWidth()方法返回元素的宽度(包括内边距和边框)
6>outerHeight()方法返回元素的高度(包括内边距和边框)
7>outerWidth(true)方法返回元素的宽度(包括内边距、边框和外边距)8>outerHeight(true)方法返回元素的高度(包括内边距、边框和外边距)
四:jQuery 遍历
1.遍历
用于根据其相对于其他元素的关系来"查找"(或选取)HTML元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。
2.遍历-祖先
(1)parent()方法
parent()方法返回被选元素的直接父元素,该方法只会向上一级对 DOM 树进行遍历
(2)parents()方法
parents()方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)
(3)parentsUntil()方法
parentsUntil()方法返回介于两个给定元素之间的所有祖先元素
3.遍历-后代
(1)children()方法
children()方法返回被选元素的所有直接子元素;该方法只会向下一级对 DOM 树进行遍历。
(2)find()方法
find()方法返回被选元素的后代元素,一路向下直到最后一个后代
4.遍历-同胞
(1)siblings()方法
siblings()方法返回被选元素的所有同胞元素
(2)next()方法
next()方法返回被选元素的下一个同胞元素,
该方法只返回一个元素
(3)nextAll()方法
nextAll()方法返回被选元素的所有跟随的同胞元素
(4)nextUntil()方法
nextUntil()方法返回介于两个给定参数之间的所有跟随的同胞元素
(5)prev(), prevAll()和prevUntil()方法
prev(), prevAll()以及prevUntil()方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞元素向后遍历,而不是向前)
5.遍历-过滤
(1)first()方法
first()方法返回被选元素的首个元素
(2)last()方法
last()方法返回被选元素的最后一个元素
(3)eq()方法
eq()方法返回被选元素中带有指定索引号的元素
(4)filter()方法
filter()方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回
(5)not()方法
not()方法返回不匹配标准的所有元素
五:jQuery AJAX
1.AJAX
在前端页面开发中,如果页面中的数据是需要动态获取或者更新的,这时我们需要向服务器发送异步的请求来获取数据,然后在无需刷新页面的情况来更新页面。那么这个发起异步请求获取数据来更新页面的技术叫做 AJAX 。
AJAX=异步JavaScript和XML
2.AJAX load()方法
load()方法从服务器加载数据,并把返回的数据放入被选元素中
语法:
$(selector).load(URL,data,callback);
1>必需的URL参数规定您希望加载的URL。
2>可选的data参数规定与请求一同发送的查询字符串键/值对集合
3>可选的callback参数是load()方法完成后所执行的函数名称;callback参数规定当load() 方法完成后所要允许的回调函数。回调函数可以设置不同的参数:
responseTxt 包含调用成功时的结果内容
statusTXT 包含调用的状态
xhr 包含XMLHttpRequest对象
3.AJAX get()和post()方法
GET -从指定的资源请求数据
POST -向指定的资源提交要处理的数据
(1)$.get()方法
$.get()方法通过HTTP GET请求从服务器上请求数据
语法:$.get(URL,callback);
1>必需的URL参数规定您希望请求的URL。
2>可选的callback参数是请求成功后所执行的函数名。
(2)$.post()方法
$.post()方法通过HTTP POST请求从服务器上请求数据
语法:$.post(URL,data,callback);
1>必需的URL参数规定您希望请求的URL
2>可选的data参数规定连同请求发送的数据
3>可选的callback参数是请求成功后所执行的函数名
六:jQuery与其他框架兼容
1.noConflict()方法
noConflict()方法会释放对$标识符的控制。
如何在页面上同时使用 jQuery 和其他框架,
只需要使用jQuery中的noConflict()方法,它允许你在同一个页面加载多个jQuery实例,尤其是不同版本的jQuery
七:jQuery插件
1.Validate插件(表单验证)
2.Accordion插件(折叠菜单)
它通常与嵌套的列表、定义列表或嵌套的div一起使用。选项用于指定结构、激活的元素和定制的动画。
3.Cookie插件
4.Autocomplete插件(自动补齐)
此插件根据用户输入值进行搜索和过滤,让用户快速找到并从预设值列表中选择。通过给Autocomplete字段焦点或者在其中输入字符,插件开始搜索匹配的条目并显示供选择的值的列表。通过输入更多的字符,用户可以过滤列表以获得更好的匹配。
5.Growl 插件(消息提醒)
jQuery Growl插件能很容易地在一个覆盖层显示反馈消息。消息会在一段时间后自动消失,不需要单击"确定"按钮等。用户也可以通过移动鼠标或点击关闭按钮加快隐藏信息。
6.Password Validation(密码验证)
7.Prettydate
8.Tooltip
9.Treeview
八:jQuery 参考手册
1.jQuery HTML/CSS
https://www.w3cschool.cn/jquery/jquery-ref-html.html
2.jQuery 遍历方法
https://www.w3cschool.cn/jquery/jquery-ref-traversing.html
3.jQuery AJAX方法
https://www.w3cschool.cn/jquery/jquery-ref-ajax.html
4.jQuery杂项方法
https://www.w3cschool.cn/jquery/jquery-ref-misc.html
5.jQuery属性
https://www.w3cschool.cn/jquery/jquery-ref-prop.html
九:问题聚合
1.js库有哪些?
(1)jQuery:一个快速、小巧且功能丰富的JavaScript库,它使事情变得简单,例如处理文档遍历和操作、事件处理、动画和Ajax交互等。
(2)React:一个用于构建用户界面的JavaScript库,主要用于构建单页应用。React使用虚拟DOM来提高性能,并提供了一个丰富的组件库。
(3)Angular:由Google维护的一个JavaScript框架,用于构建单页应用。Angular提供了强大的数据绑定、组件化、路由、表单处理等功能。
(4)Vue.js:一个渐进式的JavaScript框架,用于构建用户界面。Vue.js提供了响应式数据绑定、组件化、路由、状态管理等功能。
(5)Ember.js:一个用于创建web应用的JavaScript框架,它提供了丰富的组件、数据绑定、路由和模板等功能。
(6)Aurelia:一个用于构建现代web应用的JavaScript框架,它提供了强大的数据绑定、组件化、路由和模板等功能。
(7)Polymer:由Google开发的一个基于Web组件的JavaScript库,用于构建可重用的自定义元素。
(8)Mithril:一个轻量级的JavaScript框架,用于构建现代web应用。它提供了虚拟DOM、组件化、路由等功能。
(9)Preact:一个快速、轻量级的React替代品,具有类似的API和功能,但体积更小。
(10)Inferno:一个高性能、轻量级的JavaScript库,用于构建用户界面。它提供了虚拟DOM、组件化等功能。
2.ajax几种请求方式?
(1)GET:GET请求用于从服务器获取数据。这是最常用的请求类型,通常用于从服务器获取HTML页面。GET请求会将请求参数添加到URL中,因此它通常只用于获取数据,而不用于发送数据。
(2)POST:POST请求用于向服务器发送数据。它通常用于提交表单、上传文件或发送JSON数据等。POST请求不会在URL中显示请求参数,而是将数据包含在请求体中。
(3)PUT:PUT请求用于更新服务器上的数据。它通常用于更新资源的内容。PUT请求会将新的数据替换掉旧的数据。
(4)PACTH :在JavaScript的XMLHttpRequest对象中,并没有提供直接支持PATCH请求的API。要实现PATCH请求,可以通过设置httpRequest.method属性为"PATCH",并在请求头中设置Content-Type: application/json来模拟PATCH请求。
(5)DELETE:在JavaScript的XMLHttpRequest对象中,并没有提供直接支持DELETE请求的API。要实现DELETE请求,可以通过设置httpRequest.method属性为"DELETE",并发送请求。
3.什么是ajax?ajax作用是什么?
(1)AJAX(Asynchronous JavaScript and XML)是一种使用现有标准的新方法,它不是新的编程语言。AJAX是一种创建交互式网页应用的网页开发技术,它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页如果需要更新内容,必须重载整个页面,而AJAX改善了用户体验。
(2)AJAX的主要作用是:在不重新加载整个页面的情况下,能与服务器交换数据并更新网页内部分内容。它通过JavaScript发送HTTP或HTTPS请求,实现与服务器进行数据交换。当网页的部分数据被改变时,可以避免刷新整个页面,从而只更新需要更新的部分,提高网页的响应速度和用户体验。
4.AJAX最大的特点
AJAX最大的特点是实现动态不刷新,能在不更新整个页面的前提下维护数据。这使得web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
同时,可以把一部分以前由服务器负担的工作转移到客户端,利用客户端闲置的资源进行处理,减轻服务器和带宽的负担,节约空间和成本。
基于Web标准,AJAX使用文档对象模板(Document Object Model)作动态显示和交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHTTPRequest进行异步数据查询和接收;使用JavaScript将所有的东西绑定在一起。
因此,AJAX实现了动态、异步、高效的网页交互体验。
5.http常见状态码有哪些?
最常用的有:
(1)200(OK):表示请求成功,服务器已处理完客户端发送的请求,并且已经正常处理完毕,返回响应的资源信息
(2)400(Bad Request):表示客户端请求有语法错误,不能被服务器识别,请改正前端错误
(3)401(Unauthorized):表示服务器收到请求,但拒绝提供服务
(4)403(Forbidden):表示访问被服务器拒绝
(5)404(Not Found):表示请求资源不存在,没有这个请求
(6)500(Internal Server Error):表示服务器内部错误(一般是服务器内部代码有问题)
(7)503(Service Unavailable):表示服务器不可用(服务器超载、停机维护、暂停等状态)
此外较常用的有:
(1)204(No Content):表示服务器端已经接收并且处理完客户端的请求,但是没有任何资源返回
(2)206(Partial Content):表示服务器端和客户端的请求中的GET部分进行了处理
(3)301(Moved Permanently):表示永久性的重定向
(4)302(Found):表示暂时性的重定向
(5)303(See Other):表示由于请求对应得资源存在着另一个URI,重定向失败
(6)304(Not Modified):表示客户端已经有了缓存的版本,不需要重新获取资源
(7)405(Method Not Allowed):表示请求方法错误,请求没加Post或者Get
(8)501(Not Implemented):表示服务器不具备完成请求的功能
(9)502(Bad Gateway):表示网管错误
6.AJAX都有哪些优点和缺点
(1)AJAX的优点主要包括:
1>无刷新更新数据:AJAX能在不刷新整个页面的前提下与服务器通信维护数据,使得Web应用程序更为迅捷地响应用户交互,并避免在网络上发送那些没有改变过的信息,减少用户等待时间,带来非常好的用户体验。
2>异步与服务器通信:AJAX使用异步方式与服务器通信,不打断用户的操作,具有更加迅速的响应能力。优化了Browser和Server之间的沟通,减少不必要的数据传输、时间及降低网络上数据流量。
3>前端与后端负载平衡:AJAX可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,AJAX的原则是“按需取数据”,可以最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。
4>基于规范被广泛支持:AJAX不需要下载浏览器插件或者小程序,但需要客户允许JavaScript在浏览器上执行。
5>界面与应用分离:AJAX使得界面与应用分离,也就是数据与呈现分离。
(2)AJAX的缺点主要包括:
1>对浏览器机制的破坏:AJAX干掉了Back与History功能。
2>对搜索引擎不太友好:因为搜索引擎爬虫可能无法完全理解AJAX加载的内容。
3>可能引发安全问题:如果服务器没有正确地处理用户的登录信息,可能会泄露敏感信息。
4>性能问题:过多的使用AJAX可能会影响页面性能。
5>破坏了页面的无状态性:由于AJAX引入了与服务器的异步通信,因此每个请求都是独立的,页面本身的状态不会被保留。
6>需要后端支持:如果后端没有提供支持或者提供的支持不正确,那么前端使用AJAX也可能会失败。
7>对移动设备可能不太友好:由于移动设备的处理能力和网络连接速度可能与桌面设备不同,因此AJAX在移动设备上的效果可能会受到影响。
7.js和jq的区别
(1)本质区别:js是网页脚本语言,常用于网页客户端编程,使网页在客户端浏览器中实现更多地动态功能,表现出更加丰富的视觉效果。jq是基于js语言封装出来的一个前端框架。
(2)外观区别:在外观上,jq对象比js对象多了"$()"
(3)操作内容区别:非表单元素(如果是文本就用text方法,如果是html代码就用html方法),例如:div.text();无参数的情况下是取值;div.html(
"aaaa")有参数的情况下是赋值。
(4)操作属性区别:JS里面用来操作属性的方法是div.getAttribute();获取属性。
(5)操作样式区别:JS里面操作样式的关键字是style。
(6)入口函数区别:js的入口函数通常是在window对象上定义的函数,例如window.onload = function(){内部放js}。而jq的入口函数是在document对象上定义的函数,例如$(document).ready(function(){})。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。