jQuery
| 原作者 | 約翰·雷西格 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 開發者 | jQuery Team | ||||||||||||||||
| 穩定版本 | 3.2.1 (2017年3月20日) | ||||||||||||||||
| 編程語言 | JavaScript | ||||||||||||||||
| 文件大小 |
|
||||||||||||||||
| 類型 | 網頁應用程序框架 | ||||||||||||||||
| 許可協議 | MIT許可證 | ||||||||||||||||
| 網站 | jquery.com | ||||||||||||||||
| 倉庫 | github |
||||||||||||||||
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版,這兩種發佈版本,後者不再支援IE 6/7/8,前者透過jQuery Migrate plugin與先前版本保持相容。
| 發佈日期 | 版本號碼 | 備註 |
|---|---|---|
| 2006年8月26日 | 1.0 | 最初的穩定版本 |
| 2006年8月31日 | 1.0.1 | |
| 2006年10月9日 | 1.0.2 | |
| 2006年10月27日 | 1.0.3 | |
| 2006年12月12日 | 1.0.4 | Last 1.0 bug fix |
| 2007年1月14日 | 1.1 | |
| 2007年1月22日 | 1.1.1 | |
| 2007年2月27日 | 1.1.2 | |
| 2007年7月1日 | 1.1.3 | |
| 2007年7月5日 | 1.1.3.1 | |
| 2007年8月24日 | 1.1.4 | |
| 2007年9月10日 | 1.2 | jQuery 1.2版以後默認取消XPath支持,改為插件支持 |
| 2007年9月16日 | 1.2.1 | |
| 2008年1月15日 | 1.2.2 | |
| 2008年2月8日 | 1.2.3 | |
| 2008年5月19日 | 1.2.4 | |
| 2008年5月21日 | 1.2.5 | 修正1.2.4版的bug |
| 2008年5月24日 | 1.2.6 | |
| 2009年1月14日 | 1.3 | Sizzle選擇器引擎導入至核心,移除過時API[10] |
| 2009年1月21日 | 1.3.1 | |
| 2009年2月20日 | 1.3.2 | |
| 2010年1月14日 | 1.4 | |
| 2010年1月25日 | 1.4.1 | |
| 2010年2月19日 | 1.4.2 | |
| 2010年10月16日 | 1.4.3 | |
| 2010年11月11日 | 1.4.4 | |
| 2011年1月31日 | 1.5 | |
| 2011年2月24日 | 1.5.1 | |
| 2011年3月31日 | 1.5.2 | |
| 2011年5月3日 | 1.6 | 改善attr()與val()的效能 |
| 2011年5月12日 | 1.6.1 | |
| 2011年6月30日 | 1.6.2 | |
| 2011年9月1日 | 1.6.3 | |
| 2011年9月12日 | 1.6.4 | |
| 2011年11月3日 | 1.7 | 移除過時API[11] |
| 2011年11月21日 | 1.7.1 | |
| 2012年3月21日 | 1.7.2 | |
| 2012年8月9日 | 1.8.0 | Sizzle選擇器引擎重寫,提高動畫與$(html, props)更具彈性.,移除過時API[12] |
| 2012年8月30日 | 1.8.1 | |
| 2012年9月20日 | 1.8.2 | |
| 2012年11月13日 | 1.8.3 | |
| 2013年1月15日 | 1.9.0 | 移除過時API[13] |
| 2013年2月4日 | 1.9.1 | |
| 2013年5月23日 | 1.10.0 | 移除過時API[14] |
| 2013年5月30日 | 1.10.1 | |
| 2013年7月3日 | 1.10.2 | |
| 2014年1月24日 | 1.11.0 | |
| 2014年5月1日 | 1.11.1 | |
| 2014年12月18日 | 1.11.2 | |
| 2015年4月28日 | 1.11.3 | 修復在iOS 8.2與8.3裡的錯誤。 |
| 2013年4月18日 | 2.0.0 | 除去對Internet Explorer 6-8的支援以提高性能,並降低文件大小 |
| 2013年5月24日 | 2.0.1 | |
| 2013年5月30日 | 2.0.2 | |
| 2013年7月3日 | 2.0.3 | |
| 2014年1月24日 | 2.1.0 | |
| 2014年5月1日 | 2.1.1 | |
| 2.1.2 | ||
| 2014年12月18日 | 2.1.3 | |
| 2015年4月28日 | 2.1.4 | 修復在iOS 8.2與8.3裡的錯誤。 |
子項目[編輯]
以下項目均是源自於Interface插件
jQuery UI[編輯]
基於jQuery的用戶界面庫,包括拖放、縮放、對話框、標籤頁等多個組件。
jQuery Tools[編輯]
jQuery Tools是一個第三方的套件,基於jQuery。包括了標籤頁、表單驗證、滑鼠滾輪事件等多個組件。[15]
jQuery Mobile[編輯]
基於jQuery的手機網頁製作工具,jQuery Mobile的網站上包含了網頁的設計工具、主題設計工具。另外jQuery Mobile的js插件包含了換頁、事件等的多項功能。[16]
參閱[編輯]
參考文獻[編輯]
- ^ / 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 (英語).
- ^ https://api.jquery.com/category/deprecated/deprecated-1.3/
- ^ https://api.jquery.com/category/deprecated/deprecated-1.7/
- ^ https://api.jquery.com/category/deprecated/deprecated-1.8/
- ^ jQuery Core 1.9 Upgrade Guide
- ^ https://api.jquery.com/category/deprecated/deprecated-1.10/
- ^ http://jquerytools.org
- ^ 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)
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|