(2007年9月):這一版去掉了對XPath選擇符的支持,原因是相對于CSS語法它已經(jīng)變得多余了。這一版能夠支持對效果的更靈活定制,而且借助新增的命名空間事件,也使插件開發(fā)變得更容易。

創(chuàng)新互聯(lián)主營安鄉(xiāng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),安鄉(xiāng)h5小程序開發(fā)搭建,安鄉(xiāng)網(wǎng)站營銷推廣歡迎安鄉(xiāng)等地區(qū)企業(yè)咨詢
jQuery UI(2007年9月):這個新的插件套件是作為曾經(jīng)流行但已過時的Interface插件的替代項目而發(fā)布的。jQuery UI中包含大量預(yù)定義好的部件(widget),以及一組用于構(gòu)建高級元素(例如可拖放的界面元素)的工具。 (2010年1月14號):對代碼庫進行了內(nèi)部重寫組織,開始建立一些風(fēng)格規(guī)范。老的core.js文件被分為attribute.js,css.js,data.js,manipulation.js,traversing.js和queue.js;CSS和attribute的邏輯分離。
⒈4重要新特性
·常用方法的性能大幅提升:重寫了大部分較早期的函數(shù);
·更容易使用的設(shè)置函數(shù)(setter function):為所有對象新增了許多易用的設(shè)置函數(shù);
·對Ajax的改進:引入了許多Ajax和JSON處理方面的更新,包括HTML5元素的序列化;
·attribute(改進了.attr()的性能)、jQuery()核心函數(shù)、CSS(.css()性能有兩倍提升)、特效和事件、DOM操作等也有顯著改進 (2011年1月31日):該版本修復(fù)了83個bug,解決了460個問題。重大改進有:重寫了Ajax模塊;新增延緩對象(Deferred Objects);jQuery替身——jQuery.sub();增強了遍歷相鄰節(jié)點的性能;jQuery開發(fā)團隊構(gòu)建系統(tǒng)的改進。
1.5新版本
美國時間2011年1月31日John Resig在jQuery官方博客發(fā)表文章,宣布jQuery 1.5正式版已經(jīng)如期開發(fā)完成,可以下載使用。壓縮版本jQuery Minified29KB,不壓縮版本jQuery Regular(用于閱讀和調(diào)試)207KB。由于jQuery已經(jīng)成為目前最流行的JavaScript庫,得到廣泛的支持,新版本的發(fā)布當(dāng)然非常引人注目。
重要變化:
1. Ajax重寫
Ajax模塊完全進行了重寫。新增一個jXHR對象,為不同瀏覽器內(nèi)置的XMLHttpRequest提供了一致的超集。對于XMLHttpRequest之外的傳輸機制,比如JSONP請求,jXHR對象也可以進行處理。(詳情可以參見:jQuery.ajax文檔)
此外,系統(tǒng)的可擴展性大大增強,可以附加各種數(shù)據(jù)處理器、過濾器和傳輸機制,為開發(fā)新的Ajax插件提供了方便。
2. 延遲對象
延遲對象(Deferred Object,jQuery.Deferred對象)是一個可鏈接的(chainable)實用工具對象,實現(xiàn)了Promise接口,可以在回調(diào)隊列中注冊多個回調(diào)、調(diào)用回調(diào)隊列并轉(zhuǎn)發(fā)任何同步/異步函數(shù)的成敗狀態(tài)。正如Using Deferreds in jQuery 1.5一文中說明的,其結(jié)果是在jQuery中能夠?qū)⒁蕾囉谀硞€任務(wù)(事件)結(jié)果的邏輯與任務(wù)本身解耦了。這一點在JavaScript中其實并不新鮮,Mochikit和Dojo等已經(jīng)實現(xiàn)有些日子了。由于jQuery 1.5的Ajax模塊內(nèi)置使用了延遲對象,因此通過jQuery編寫Ajax程序?qū)⒆詣荧@得這一功能。
開發(fā)人員借此可以使用無法立即獲得的返回值(如異步Ajax請求的返回結(jié)果),而且第一次能夠附加多個事件處理器。
例如,使用了新的jQuery內(nèi)部Ajax API就可以實現(xiàn)下面的代碼了:
// Assign handlers immediately after making the request,// and remember the jxhr object for this request var jxhr = $.ajax({ url: example.php }) .success(function() { alert(success); }) .error(function() { alert(error); }) .complete(function() { alert(complete); });// perform other work here ... // Set another completion function for the request above jxhr.complete(function(){ alert(second complete); });
此外,使用jQuery.Deferred還可以開發(fā)自己的延遲對象。更多詳情參見:延遲對象文檔。
3. jQuery.sub()
jQuery 1.5提供了一種創(chuàng)建和修改jQuery副本的方式。可以用來添加不向外部公開的方法,或者對jQuery的某些方法進行重新定義以提供新功能,或者提供更好的封裝、避免名稱空間沖突。當(dāng)然,也可以用來開發(fā)插件,但Resig強烈建議在開發(fā)插件之前,先考慮jQuery UI widget工廠。
值得注意的是,sub函數(shù)并不提供真正的隔離,所有方法、數(shù)據(jù)、調(diào)用仍然依靠jQuery本身來支持。
4. 遍歷性能提高
在新版本中.children(),.prev(),.next()幾個常用的遍歷函數(shù)性能有了顯著提高。
5. 內(nèi)部開發(fā)系統(tǒng)
John Resig還特別提到了jQuery團隊內(nèi)部開發(fā)系統(tǒng)的兩點改變:一是服務(wù)器端用Node.js替換了老的Java/Rhino系統(tǒng),使得團隊可以專注于JavaScript環(huán)境的新變化;二是所用的代碼優(yōu)化程序從Google Closure切換到UglifyJS,新工具的壓縮效果非常令人滿意。
jQuery 1.5.2 在1.5的基礎(chǔ)上修正的大量的bug
jQuery 1.7b 2011年09月29日jQuery 1.7 的第一個 beta 測試版本,該版本修復(fù)了超過 50 個的問題以及帶來一些新特性。
2011年11月4日jQuery1.7正式版發(fā)布。
新版本包含了很多新的特征,特別提升了事件委派時的性能尤其是在IE7下。
新增及改進項:
⒈新的事件 APIs: .on() and .off();
⒉提升了事件委派時的性能有了大幅度的提升,尤其是在IE7下;
⒊更好的在 IE 6/7/8 上支持 HTML5;
⒋切換動畫更加直觀;
⒌匿名模塊定義 AWD
⒍jQuery.Deferred
⒎jQuery.isNumeric()
被刪除的方法:
event.layerX and event.layerY
jQuery.isNaN() 2012年03月24日jQuery 1.7.2正式版發(fā)布。
該版本在1.7.1的基礎(chǔ)上修復(fù)了大量的bug,并改進了部分功能。而相比于1.7.2 RC1,只修復(fù)了一個bug。值得注意的是:如果你正在使用jQuery Mobile,請使用最新的jQuery 1.7.2和jQuery Mobile 1.1這兩個版本,因為之前的jQuery Mobile版本還基于jQuery core 1.7.1或更早的版本。 2012年11月14日 jQuery 1.8.3 發(fā)布,修復(fù) bug 和性能衰退問題
IE8中的HTML相關(guān)Bug
jQuery 1.8.2在IE9中調(diào)用ajax失敗的問題
jQuery 1.7.1不能正確地設(shè)置IE7中克隆元素的tabindex屬性
壓縮的JS文件包含非ASCII字符
如果body樣式設(shè)置為display:none,則$('body').show()無法工作
在IE9中element.css('filter')返回不明確
在Android 2.3.4的瀏覽器中,jQuery 1.8.1轉(zhuǎn)場效果崩潰
在iPad上縮放一個燈箱效果后,所有動畫效果失效
從1.3.2升級到1.8.2版本后,出現(xiàn)Uncaught TypeError錯誤
在Chrome和Safari中,無法正確檢測包含可編輯內(nèi)容的DIV的焦點 2013年3月 jQuery 2.0 Beta 2 發(fā)布
據(jù)jQuery官方博客3月消息,jQuery 2.0 Beta 2 發(fā)布。
根據(jù)用戶對jQuery 2.0 Beta 1 版本的反饋,Beta 2 版做了一些修改。jQuery官方表示,非常需要用戶來測試 Beta 2 版,最好同時也能向他們反饋提交建議。
他們相信,Beta 2 版已非常穩(wěn)定,值得一試,不需要等 2.0 的最終版本。
jQuery 團隊在官博中再次提醒用戶,jQuery 2.0 不再支持IE 6/7/8 了,但是 jQuery 1.9 會繼續(xù)支持。因為舊版 IE 瀏覽器在整個互聯(lián)網(wǎng)中還有很大部分市場,所以他們非常期望大部分網(wǎng)站能繼續(xù)使用 jQuery 1.x 一段時間。jQuery 團隊也將同時支持 jQuery 1.x 和 2.x 。1.9 和 2.0 版的 API 是相同的,所以不必因為你們網(wǎng)站還在用 jQuery 1.9,就感覺好像錯過了什么,或者是落后了。
如果你想繼續(xù)支持 IE 6/7/8,并且又想嘗試 jQuery 2.0,那你可以額外加上一些代碼。除了老版的 IE,其他所有瀏覽器都將使用第二腳本,忽略第一個。
在很多環(huán)境中,jQuery 2.0 應(yīng)當(dāng)都表現(xiàn)的很好。如下:
Google Chrome plugins
Mozilla XUL apps and Firefox extensions
Firefox OS apps
Chrome OS apps
Windows 8 Store (“Modern/Metro UI”) apps
BlackBerry 10 WebWorks apps
PhoneGap/Cordova apps
Apple UIWebView class
Microsoft WebBrowser control
Cheerio or jsdom with Node.js
Intranet applications
2013年4月18日 jQuery 2.0正式版發(fā)布 不再支持IE 6/7/8:如果在IE9/10版本中使用“兼容性視圖”模式也將會受到影響。 更輕更快:2.0版本文件與1.9.1相比小了12%。 可以構(gòu)建一個更小、更輕量的版本。 jQuery 2.0 API完全兼容jQuery 1.9 API。 jQuery 1.9.1漢化版2013年2月23日發(fā)布,由網(wǎng)友翻譯非官方 2014年5月1日,jQuery2.1.1版發(fā)布
這個并沒有一個固定的答案,需要根據(jù)項目需求來定(就是你這個項目要兼容哪些平臺,具體的兼容情況是怎么樣的),不同的版本對瀏覽器的支持程度是不一樣的。
jQuery1.x版本的框架時兼容所有IE瀏覽器的,而2.x版本的jQuery框架并不支持低端IE瀏覽器。此處的低端IE瀏覽器指的是IE8版本以及8版本以下。所以,對于需要全兼容的項目,就不得不使用1.x版本啦。
當(dāng)前3.2.1版本支持情況:
PC端
Chrome: (Current - 1) and Current
Edge: (Current - 1) and Current
Firefox: (Current - 1) and Current
Internet Explorer: 9+
Safari: (Current - 1) and Current
Opera: Current
移動端
Stock browser on Android 4.0+
Safari on iOS 7+
資料來源:
HTML5學(xué)堂
1.9和1.8的區(qū)別主要在于:
XSS保護
$()方法如果傳入script標簽可以創(chuàng)建HTML元素并運行腳本。開發(fā)者有時會忘了這點,將非安全處取得的資源傳入jQuery中從而導(dǎo)致了cross-site-scripting(XSS)的攻擊。在jQuery
1.9中,$()方法更嚴格地限制了傳入規(guī)則,字符串只有當(dāng)首字母是“”符號時才會被認為是HTML,否則會被當(dāng)作是CSS選擇器。
移除$.browser,$.sub
$.browser在jQuery 1.3中被廢棄,并將在jQuery
1.9中被移除。開發(fā)者可以換用$.support或者直接讀取navigator.userAgent。
$.sub在jQuery 1.7中被廢棄,同樣也將在jQuery
1.9中被移除。該函數(shù)新建jQuery的副本,對它屬性或方法的修改不會影響原先的jQuery對象。但這個函數(shù)并未被證明是有用的,所以移到了1.9的兼容插件里。這樣jQuery
1.9文件的尺寸會變得更小。
復(fù)制代碼
代碼如下:
html
xmlns=""
head
!--
1.基本選擇器:是jQuery中使用最頻繁的選擇器,它由元素Id、Class、元素名、多個選擇符組成,通過基本選擇器可以實現(xiàn)大多數(shù)頁面元素的查找
jQuery選擇器詳解
根據(jù)所獲取頁面中元素的不同,可以將jQuery選擇器分為:基本選擇器、層次選擇器、過濾選擇器、表單選擇器四大類。其中,在過濾選擇器中有可以分為:簡單過濾選擇器、內(nèi)容過濾選擇器、可見性過濾選擇器、屬性過濾選擇器、子元素過濾選擇器、表單對象屬性過濾選擇器6種
--
title/title
!--使用jQuery基本選擇器選擇元素:一個頁面包含兩個div標記,其中一個用于設(shè)置ID屬性,另一個用于設(shè)置Class屬性;我們再增加一個span標記,全部元素初始值均為隱藏,然后通過jQuery基本選擇器顯示相應(yīng)的頁面標記。--
script
src="jquery-1.9.1.js"
type="text/javascript"/script
style
type="text/css"
body{font-size:12px;text-align:center;}
.clsFrame{width:300px;height:100px}
.clsFrame
div,span{display:none;float:left;width:65px;height:65px;border:solid
1px
#ccc;margin:8px}
.clsOne{background-color:#eee}
/style
script
type="text/javascript"
$(function
()
{
//ID匹配元素
$('#divOne').css('display',
'block');
})
$(function
()
{
//元素名匹配元素
$('div
span').css('display',
'block');
})
$(function
()
{
//類匹配元素
$('.clsFrame
.clsOne').css('display',
'block');
})
$(function
()
{
//匹配所有元素
$('*').css('display',
'block');
})
$(function
()
{
//合并匹配元素
$('#divOne,span').css('display',
'block');
})
/script
/head
body
div
class="clsFrame"
div
id="divOne"
ID/div
div
class="clsOne"
CLASS/div
spanSPAN/span
/div
/body
/html
jQuery綁定點擊事件可以使用其綁定事件函數(shù)
jquery中四個事件綁定方式(bind,live,delegate,on)
1、bind()????
簡要描述
bind()向匹配元素添加一個或多個事件處理器。
使用方式
$(selector).bind(event,data,function)
event:必需項;添加到元素的一個或多個事件,例如 click,dblclick等;
單事件處理:例如?$(selector).bind("click",data,function);
多事件處理:
1.利用空格分隔多事件,例如?$(selector).bind("click dbclick mouseout",data,function);
2.利用大括號靈活定義多事件,例如?$(selector).bind({event1:function, event2:function, ...})
3.空格相隔方式:綁定較為死板,不能給事件單獨綁定函數(shù),適合處理多個事件調(diào)用同一函數(shù)情況;
大括號替代方式:綁定較為靈活,可以給事件單獨
綁定函數(shù);
data:可選;需要傳遞的參數(shù);
function:必需;當(dāng)綁定事件發(fā)生時,需要執(zhí)行的函數(shù);
適用Jquery版本
適用所有版本,但是根據(jù)官網(wǎng)解釋,自從jquery1.7版本以后bind()函數(shù)推薦用on()來代替。
2、live()? ?
簡要描述
live()?向當(dāng)前或未來的匹配元素添加一個或多個事件處理器;
使用方式
$(selector).live(event,data,function)
event:必需項;添加到元素的一個或多個事件,例如 click,dblclick等;
單事件處理:例如?$(selector).live("click",data,function);
多事件處理:1.利用空格分隔多事件,例如?$(selector).live("click dbclick mouseout",data,function);
2.利用大括號靈活定義多事件,例如?$(selector).live({event1:function, event2:function, ...})
3.空格相隔方式:綁定較為死板,不能給事件單獨綁定函數(shù),適合處理多個事件調(diào)用同一函數(shù)情況;
大括號替代方式:綁定較為靈活,可以給事件單獨綁定函數(shù);
data:可選;需要傳遞的參數(shù);
function:必需;當(dāng)綁定事件發(fā)生時,需要執(zhí)行的函數(shù);
適用Jquery版本
jquery1.9版本以下支持,jquery1.9及其以上版本刪除了此方法,jquery1.9以上版本用on()方法來代替。
3、delegate()
簡要描述
delegate()?為指定的元素(被選元素的子元素)添加一個或多個事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時運行的函數(shù)。使用 delegate() 方法的事件處理程序適用于當(dāng)前或未來的元素(比如由腳本創(chuàng)建的新元素)。
使用方式
$(selector).delegate(childSelector,event,data,function)
childSelector:?必需項;需要添加事件處理程序的元素,一般為selector的子元素;
event:必需項;添加到元素的一個或多個事件,例如 click,dblclick等;
單事件處理:例如?$(selector).delegate(childselector,"click",data,function);
多事件處理:1.利用空格分隔多事件,例如?$(selector).delegate(childselector,"click?dbclick mouseout",data,function);
2.利用大括號靈活定義多事件,例如?$(selector).delegate(childselector,{event1:function, event2:function, ...})
3.空格相隔方式:綁定較為死板,不能給事件單獨綁定函數(shù),適合處理多個事件調(diào)用同一函數(shù)情況;
大括號替代方式:綁定較為靈活,可以給事件單獨綁定函數(shù);
data:可選;需要傳遞的參數(shù);
function:必需;當(dāng)綁定事件發(fā)生時,需要執(zhí)行的函數(shù);
適用Jquery版本
jquery1.4.2及其以上版本;
4、on()
簡要描述
on()?為指定的元素,添加一個或多個事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時運行的函數(shù)。使用 on() 方法的事件處理程序適用于當(dāng)前或未來的元素(比如由腳本創(chuàng)建的新元素)。
使用方式
$(selector).on(event,childselector,data,function)
event:必需項;添加到元素的一個或多個事件,例如 click,dblclick等;
單事件處理:例如?$(selector).on("click",childselector,data,function);
多事件處理:1.利用空格分隔多事件,例如?$(selector).on("click?dbclick mouseout",childseletor,data,function);
2.利用大括號靈活定義多事件,例如?$(selector).on({event1:function, event2:function, ...},childselector);
3.空格相隔方式:綁定較為死板,不能給事件單獨綁定函數(shù),適合處理多個事件調(diào)用同一函數(shù)情況;
大括號替代方式:綁定較為靈活,可以給事件單獨綁定函數(shù);
childSelector:?可選;需要添加事件處理程序的元素,一般為selector的子元素;
data:可選;需要傳遞的參數(shù);
function:必需;當(dāng)綁定事件發(fā)生時,需要執(zhí)行的函數(shù);
適用Jquery版本
jquery1.7及其以上版本;jquery1.7版本出現(xiàn)之后用于替代bind(),live()綁定事件方式;
四種方式的異同和優(yōu)缺點
相同點:
1.都支持單元素多事件的綁定;空格相隔方式或者大括號替代方式;
2.均是通過事件冒泡方式,將事件傳遞到document進行事件的響應(yīng);
比較和聯(lián)系:
1.bind()函數(shù)只能針對已經(jīng)存在的元素進行事件的設(shè)置;但是live(),on(),delegate()均支持未來新添加元素的事件設(shè)置;
2.bind()函數(shù)在jquery1.7版本以前比較受推崇,1.7版本出來之后,官方已經(jīng)不推薦用bind(),替代函數(shù)為on(),這也是1.7版本新添加的函數(shù),同樣,可以
用來代替live()函數(shù),live()函數(shù)在1.9版本已經(jīng)刪除;
3.live()函數(shù)和delegate()函數(shù)兩者類似,但是live()函數(shù)在執(zhí)行速度,靈活性和CSS選擇器支持方面較delegate()差些
4.bind()支持Jquery所有版本;live()支持jquery1.8-;delegate()支持jquery1.4.2+;on()支持jquery1.7+;
總結(jié)
如果項目中引用jquery版本為低版本,推薦用delegate(),高版本jquery可以使用on()來代替,以上僅為個人看法
div class="menu"
div class="menu-item active"菜單一/div
div class="menu-item"菜單二/div
div class="menu-item"菜單三/div
/div
div class="content"
div內(nèi)容一/div
div class="hide"內(nèi)容二/div
div class="hide"內(nèi)容三/div
/div
script type="text/javascript" src="../js/jquery1.9.1.js"/script
script
$(function(){
$(".menu div").click(function(){
var t=$(this).index();
$(".menu div").each(function(i,e){
if(t==i){
$(e).addClass("active");
$(".content div").eq(i).removeClass("hide");
}else{
$(e).removeClass("active");
$(".content div").eq(i).addClass("hide");
}
});
});
});
/script
網(wǎng)站名稱:jquery1.9,jquery18
URL地址:http://chinadenli.net/article41/dsepihd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、品牌網(wǎng)站設(shè)計、定制網(wǎng)站、品牌網(wǎng)站建設(shè)、用戶體驗、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)