jQuery

![]() | |||||||||||||||||
原作者 | 約翰·雷西格 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
開發者 | jQuery Team | ||||||||||||||||
当前版本 | 3.3.1((2018年1月20日 | ))||||||||||||||||
源代码库 | |||||||||||||||||
编程语言 | JavaScript | ||||||||||||||||
文件大小 |
| ||||||||||||||||
类型 | 網頁應用程序框架 | ||||||||||||||||
许可协议 | MIT许可证 | ||||||||||||||||
网站 | jquery.com |
jQuery是一套跨瀏覽器的JavaScript函式庫,简化HTML與JavaScript之間的操作。[1]由約翰·雷西格(John Resig)在2006年1月的BarCamp NYC上釋出第一個版本。目前是由Dave Methvin领导的开发团队进行开发。全球前10,000个访问最高的网站中,有65%使用了jQuery,是目前最受歡迎的JavaScript函式庫[2][3]。
簡介
jQuery是开源软件,使用MIT许可证授权。[4] jQuery的语法设计使得许多操作变得容易,如操作文档对象(document)、选择文档对象模型(DOM)元素、创建动画效果、处理事件、以及开发Ajax程序。jQuery也提供了给开发人员在其上创建插件的能力。这使开发人员可以对底层交互与动画、高级效果和高级主题化的组件进行抽象化。模块化的方式使jQuery函数库能够创建功能强大的动态网页以及网络应用程序。
微软和诺基亚已宣布在他们的平台上绑定jQuery。[5]微软最初在Visual Studio中集成了jQuery[6]以便在微软自己的ASP.NET AJAX框架和ASP.NET MVC Framework中使用,而诺基亚则在他的Web运行时组件开发平台中集成了jQuery[7]。MediaWiki自从1.16版本后也开始使用jQuery[8]。
jQuery 1.3版以後,引入全新的層疊樣式表(CSS)选择器引擎Sizzle。[9] 同時不再提供Packed版本,因為解壓縮的消耗的時間,遠大於所節省的下載時間,且不利於除錯,且已有Google AJAX Libraries API等公開站台提供jQuery的js的引用服务,故Packed版本原本的優點已蕩然無存。
特点
jQuery有下列特色:
- 跨浏览器的DOM元素选择
- DOM巡訪與更改:支援CSS 1-3
- 事件(Events)
- CSS操纵
- 特效和動畫(移動顯示位置、淡入、淡出)
- Ajax
- 延伸性(Extensibility)
- 工具:例如浏览器版本(已取消內建,改由jQuery Migrate plugin外掛提供)和
each
函数。 - JavaScript插件
- 轻量级
- jQuery 1.8.0版時(內建Sizzle.js):
檔案 行數 大小 jquery-1.8.0.min.js 2 91KB jquery-1.8.0.js 9228 254KB
- DHTML DOM選擇器與链式语法
- 經由jQuery的DHTML DOM選擇器,可以更容易的操作在複雜的樹狀HTML中的任何DHTML DOM物件,並可用链式语法對同一物件的不同屬性進行操作。
- 例如:
$("p.surprise").addClass("ohmy").show("slow");
- 相當於
- 尋找HTML的<p>標簽,且其class為"surprise"的DHTML DOM物件
- 將其Class屬性多加上一個"ohmy"(通常是配CSS的定義做顯示時的配色修改)
- 開啟顯示
- 例如:
- CSS 1-3选择器:支持CSS选择器选定DOM对象。
- 跨浏览器:跨浏览器的AJAX解決方式,支持Internet Explorer 6.0+、Opera 9.0+、Firefox 2+、Safari 2.0+、Google Chrome 1.0+
- 简单:较其它JavaScript库更易于入门。
加載jQuery
使用內容傳遞網路(Content Delivery Network)加载jQuery的好處是若不同的網站使用同樣的連結時可以不用重複下載,另外也可不用在自己的伺服器上部署jQuery檔案。
- 以jQuery 1.10.2版為例
- From Microsoft Ajax Content Delivery Network
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.10.2.min.js"></script>
- From Google Libraries API
- 其中1.10.2若改為1.10,可獲取1.10.x最新版本
- 改為1,可獲取1.x.x最新版本
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
- 或
<script src="https://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.10.2");
</script>
- From cdnjs.cloudflare.com
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
發佈版本
JQuery目前分成1.x版、2.x版、3.x版,這三種發佈版本,後两种不再支援IE 6/7/8,前者透過jQuery Migrate plugin與先前版本保持相容。
版本号 | 发布日期 | 最新更新 | 大小(KB) | 备注 |
---|---|---|---|---|
1.0 | 2006年8月26日 | 第一个稳定版本 | ||
1.1 | 2007年1月14日 | |||
1.2 | 2007年9月10日 | 1.2.6 | 54 | |
1.3 | 2009年1月14日 | 1.3.2 | 55.9 | 将Sizzle选择器引擎引入核心 |
1.4 | 2010年1月14日 | 1.4.4 | 76 | |
1.5 | 2011年1月31日 | 1.5.2 | 83 | 延迟回调管理,ajax模块重写 |
1.6 | 2011年5月3日 | 1.6.4 | 89 | 显著改善attr()与val()的性能 |
1.7 | 2011年11月3日 | 1.7.2 (2012年3月21日 | )92 | 新的事件API:.on()和.off(),而旧的API仍然支持。 |
1.8 | 2012年8月9日 | 1.8.3 (2012年11月13日 | )91.4 | 重写Sizzle选择器引擎,改善动画和$(html, props)的灵活性。 |
1.9 | 2013年1月15日 | 1.9.1 (2013年2月4日 | )90 | 移除弃用接口,清理代码 |
1.10 | 2013年5月24日 | 1.10.2 (2013年7月3日 | )91 | 修复了1.9和2.0 beta版本周期的bug和差异 |
1.11 | 2014年1月24日 | 1.11.3 (2015年4月28日 | )95.9 | |
1.12 | 2016年1月8日 | 1.12.4 (2016年5月20日 | )95 | |
2.0 | 2013年4月18日 | 2.0.3 (2013年7月3日 | )81.1 | 除去对IE 6-8的支持以提高性能,并降低文件大小 |
2.1 | 2014年1月24日 | 2.1.4 (2015年4月28日 | )82.4 | |
2.2 | 2016年1月8日 | 2.2.4 (2016年5月20日 | )85.6 | |
3.0 | 2016年6月9日[10] | 3.0.0 (2016年6月9日 | )86.3 | Deferred、$.ajax、$.when支持Promises/A+,令.data()兼容HTML5 |
3.1 | 2016年7月7日 | 3.1.1 (2016年9月23日 | )86.3 | 加入jQuery.readyException,ready handler错误现在不会不显示了 |
3.2 | 2017年3月16日[11] | 3.2.1 (2017年3月20日 | )84.6 | 增加了对检索<template> 元素内容的支持,弃用了多种旧方法。
|
3.3 | 2018年1月19日 | 3.3.1 (2018年1月20日 | )84.8 | 弃用旧函数,函数现在可以接受类,并支持其写成数组格式。 |
子项目
以下项目均是源自于Interface插件
jQuery UI
基于jQuery的用户界面库,包括拖放、缩放、对话框、标签页等多个组件。
jQuery Tools
jQuery Tools是一個第三方的套件,基於jQuery。包括了标签页、表單驗證、滑鼠滾輪事件等多个组件。[12]
jQuery Mobile
基於jQuery的手機網頁製作工具,jQuery Mobile的網站上包含了網頁的設計工具、主題設計工具。另外jQuery Mobile的js插件包含了換頁、事件等的多項功能。[13]
参阅
参考文献
- ^ / jQuery: The write less, do more, JavaScript library 请检查
|url=
值 (帮助). The jQuery Project. [29 April 2010]. - ^ jQuery Usage Statistics. [2013-05-17].
- ^ Usage of JavaScript libraries for websites. W3Techs. [2010-07-08].
- ^ License – JQuery JavaScript Library. [2009-11-26].
- ^ Resig, John. jQuery, Microsoft, and Nokia. jQuery Blog. jQuery. 2008-09-28 [2009-01-29].
- ^ Guthrie, Scott. jQuery and Microsoft. ScottGu's Blog. 2008-09-28 [2009-01-29].
- ^ Guarana UI: A jQuery Based UI Library for Nokia WRT. Forum Nokia. [2010-03-30]. (原始内容存档于2009-11-23).
- ^ jQuery. MediaWiki. January 19, 2012 [March 11, 2012].
- ^ Release:jQuery 1.3 (英语).
- ^ Chesters, James. Long-awaited jQuery 3.0 Brings Slim Build. infoq.com. 2016-06-15 [2017-01-28].
- ^ jQuery 3.2.0 Is Out!. jQuery Blog. 16 March 2017 [12 March 2018].
- ^ http://jquerytools.org 互联网档案馆的存檔,存档日期2014-07-21.
- ^ http://jquerymobile.org
相關書籍
- 英文
- Learning jQuery, ISBN 1-84719-250-5
- jQuery in Action, ISBN 1-933988-35-5
- Pro JavaScript Techniques, ISBN 1-59059-727-3
- 中文
- 锋利的jQuery , ISBN 978-7-115-20701-2
- 網頁設計?愛上jQuery, ISBN 978-986-6850-84-4
- Learning jQuery中文版,ISBN 978-986-6761-60-7
- jQuery UI & Plugins, ISBN 978-986-6551-11-6
- 你不能錯過的 jQuery 指南 ISBN 9789572244173
外部連結
- jQuery官方网站
- jQuery UI官方网站
- jQuery - Google Code(各版本JQuery的下載處)
- YouTube上的jQuery(2008年4月3日,Google Tech Talks)
- Github上的jQuery 原始碼