jQuery是开源软件,利用MIT容许证授权。 jQuery的语法设计使得许多操作变得随意马虎,如操作文档工具(document)、选择文档工具模型(DOM)元素、创建动画效果、处理事宜、以及开拓Ajax程序。jQuery也供应了给开拓职员在其上创建插件的能力。这使开拓职员可以对底层交互与动画、高等效果和高等主题化的组件进行抽象化。模块化的办法使jQuery函数库能够创建功能强大的动态网页以及网络运用程序。
微软和诺基亚已宣告在他们的平台上绑定jQuery。微软最初在Visual Studio中集成了jQuery以便在微软自己的ASP.NET AJAX框架和ASP.NET MVC Framework中利用,而诺基亚则在他的Web运行时组件开拓平台中集成了jQuery[。MediaWiki自从1.16版本后也开始利用jQuery。
jQuery 1.3版往后,引入全新的层叠样式表(CSS)选择器引擎Sizzle。同时不再供应Packed版本,由于解压缩所花费的韶光,远大于所节省的下载韶光,且不利于调试,且已有Google AJAX Libraries API等公开站台供应jQuery的js的引用做事,故Packed版本原本的优点已荡然无存。

jQuery有下列特色:
利用多浏览器开源选择器引擎Sizzle(jQuery项目的派生产品)进行DOM元素选择
基于CSS选择器的DOM操作,利用元素的名称和属性(如id和class)作为选择DOM中节点的条件事宜
殊效和动画
Ajax
Deferred和Promise工具来掌握异步处理
JSON解析
通过插件扩展
工具函数,如特色检测
当代浏览器中本地的兼容性方法,但对付旧版浏览器须要后备(fallback)方法,比如inArray()和each()
多浏览器(不要与跨浏览器稠浊)支持
加载jQuery
jQuery库是包含所有公共DOM、事宜、效果和Ajax函数的一个JavaScript文件。可以通过链接到本地副本或公共做事器供应的许多副本之一把jQuery包含在网页中。jQuery有一个由MaxCDN托管的内容分发网络(CDN)。Google和微软也托管了jQuery。
也可以直接从CDN中加载jQuery:
jQuery有两种利用风格:
通过jQuery工具的工厂方法$函数。这些函数常日称作命令,可以链接,由于它们都返回jQuery工具。
通过$.开头的函数。这些是工具函数,它们不直接浸染于jQuery工具。
在jQuery中访问和操作多个DOM节点常日从用CSS选择器字符串调用$函数开始。这会返回一个引用HTML页面中所有匹配元素的jQuery工具。比如$("div.test"),会返回一个拥有class test的所有div元素的jQuery工具。可以通过调用返回的jQuery工具或节点本身的方法来操作这个节点集。
无冲突模式
jQuery还有.noConflict()模式,这会开释对$的掌握。如果其他的库也利用$作为标识符的话,这个模式会比较有用。在无冲突模式下,开拓职员可以利用jQuery替代$而不会缺失落任何功能。
范例的代码开头
常日,jQuery是通过将初始化代码和事宜处理函数放入$(handler)中来利用的。当浏览器构建DOM并发送加载事宜时触发。
或者
或者我们也可以利用
由于历史缘故原由,$(document).ready(callback)已经成为DOM就绪时运行代码的本色性标志。但jQuery 3.0往后,鼓励开拓职员利用更简短的$(handler)标志。
对尚未加载的元素进行事宜处理的回调函数可以作为匿名函数在.ready()内部注册。这些事宜处理函数只会在触发事宜时被调用。例如,下面的代码添加了一个,用于在img图像元素上单击鼠标事宜的处理函数。
链接(Chaining)
jQuery命令常日返回一个jQuery工具,因此命令可以链接:
这行代码找到了所有class属性为test的div标签,以及所有class属性为quote的p标签的并集,对付所有匹配的元素都增加一个blue的class属性,并用一个动画增加了它们的高度。函数$与add影响匹配的元素有哪些,而addClass和slideDown影响了引用的节点。
一些jQuery函数返回特定的值(例如$('#input-user-email').val())。在这些情形下,由于该值没有引用jQuery工具,链接将不起浸染。
创建新的DOM元素
除了通过jQuery工具层次构造访问DOM节点外,如果作为参数通报给$()的字符串看起来像HTML,也可以创建新的DOM元素。例如,这行代码找到ID为carmakes的HTML select元素,并会增加一个value属性为"VAG"、笔墨为"Volkswagen"的option元素:
工具函数
带有$.前缀的jQuery函数是工具函数,或者说是影响全局属性和行为的函数。下面的例子利用了函数each()来遍历数组:
这会将“2”,“3”,“4”写入掌握台。
Ajax
利用$.ajax()可以实行跨浏览器的Ajax要求。其干系方法可用于加载和处理远程数据。
本示例将数据name=John和location=Boston发布到做事器上的/process/submit.php。当这个要求结束时,会调用success函数来提醒用户。如果要求失落败,它会提醒用户,奉告该要求的状态以及特定的缺点。
异步
请把稳,上面的例子利用$.ajax() 的延期性来处理它的异步特性:.done()和.fail()创建仅在异步过程完成时才运行的回调。