国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
jQuery 1.4正式發(fā)布:一起來看有哪些新變化(上篇) - 博客園知識(shí)庫

jQuery 1.4正式發(fā)布:一起來看有哪些新變化(上篇)

為慶祝jQuery的四周年生日,jQuery官方團(tuán)隊(duì)正式發(fā)布了jQuery的1.4版本。在這個(gè)版本中,jQuery官方團(tuán)隊(duì)做了大量的編碼、測(cè)試和文檔工作,相對(duì)之前版本自然改進(jìn)不少,讓我們一起來看看有那些新變化吧。

本文分上下兩篇,上篇主要總體介紹jQuery 1.4版本的相關(guān)使用及更新,下篇通過一些代碼示例來展示更新的方法及新添加的方法。

【下載及調(diào)用】

像以往一樣,官方提供了jQuery的兩份拷貝,一份是壓縮版本(使用Google Closure Compiler壓縮,之前使用的是YUI),另一份是未壓縮版本(用來調(diào)試和閱讀)。

本博之前曾提議過通過google服務(wù)器加載jQuery,提高加載速度?,F(xiàn)在,我們依然可以通過Google的服務(wù)器調(diào)用壓縮后的jQuery 1.4版本文件,如下:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"><!--mce:0--></script>

【新特性及變化】

在jQuery 1.4中,許多常用的jQuery方法被重寫,這些改進(jìn)不僅更易用,也帶來了性能的顯著提升。

:以下為概述,不詳之處參見下篇的代碼解釋。

  1. 為一些方法添加設(shè)置函數(shù)(Setter Functions)

    在之前版本中,我們可以給attr()方法傳入一個(gè)函數(shù),將函數(shù)的返回值賦予某個(gè)屬性。1.4中,這個(gè)功能被添加到了更多的方法中:.css()、.attr()、 .val()、 .html()、 .text()、 .append()、.prepend()、 .before()、.after()、.replaceWith(), .wrap()、 .wrapInner()、 .offset()、 .addClass()、.removeClass()、 .toggleClass()。

    此外,在下面方法中,還可以傳入當(dāng)前值作為設(shè)置函數(shù)的第二個(gè)參數(shù),供設(shè)置函數(shù)使用:.css()、.attr()、.val()、.html()、.text()、.append()、.prepend()、.offset()、.addClass()、.removeClass()、和 .toggleClass()。例如:

    jQuery('<img src="enter.png" alt="enter your name" />')
    .attr("alt", function(index, value) {
    return "Please, " + value;
    });
  2. 更新了jQuery中序列化的核心方法jQuery.param()

    之前對(duì)于{foo: ["bar", "baz"]}序列化后的結(jié)果是“foo=bar&foo=baz”,現(xiàn)在為“foo[]=bar&foo[]=baz”。
    這樣更改的目的主要是告訴接收端,傳入的是一個(gè)數(shù)組對(duì)象。

  3. jQuery.ajax

    中可在不指定dataType屬性時(shí),會(huì)根據(jù)response的content-type自動(dòng)識(shí)別。
    例如:ajax請(qǐng)求返回的對(duì)象是json類型(application/json),則dataType會(huì)自動(dòng)指定為”json”(不指定的情況下)。

  4. jQuery.ajax請(qǐng)求中,添加對(duì)Etag的支持。

    之前jQuery在ajax請(qǐng)求中是在header中不發(fā)送If-None-Match值的(也就是不支持Etag),也就默認(rèn)忽略了瀏覽器緩存?,F(xiàn)在可以通過指定ifModified屬性開啟它。

    提示:如果您不了解http header的相關(guān)知識(shí),推薦閱讀這篇文章

  5. 使用原生的JSON.parse,對(duì)json進(jìn)行嚴(yán)格解析

    在1.3及更早版本中,jQuery通過javascript的eval方法來解析json對(duì)象。在1.4中,如果你用的瀏覽器支持,則會(huì)使用原生的JSON.parse進(jìn)行json對(duì)象解析,這樣對(duì)json對(duì)象的書寫驗(yàn)證則更為嚴(yán)格。如:{foo:“bar”}的寫法將不會(huì)被驗(yàn)證為合法的json對(duì)象,必須寫成{”foo”:“bar”}。如果你的程序打算升級(jí)到1.4版本,那么這一點(diǎn)要尤其注意了。

  6. 在使用.serialize() 序列化時(shí),添加對(duì)HTML5元素的支持
  7. 為ajax請(qǐng)求添加上下文支持,參考jQuery.ajax()
    jQuery.ajax({
    url: "test.html",
    context: document.body,
    success: function(){
    jQuery(this).addClass("done");
    }
    });
  8. jQuery.ajax()請(qǐng)求時(shí),接收XMLHttpRequest對(duì)象作為success的第三個(gè)參數(shù)
  9. 在ajax請(qǐng)求時(shí),總是設(shè)定Content-Type屬性

    在1.3版本中,如果ajax發(fā)送的數(shù)據(jù)為空時(shí),則不發(fā)送Content-Type屬性值,1.4中則總是顯式設(shè)定Content-Type值。這是因?yàn)橛行┏绦蚝蠖送ㄟ^Content-Type值判斷如何響應(yīng)。

  10. 當(dāng)用jsonp方式進(jìn)行ajax請(qǐng)求時(shí),可以顯式指定callback的名稱

    之前jsonp的callback名稱是由jQuery生成的隨機(jī)名稱,現(xiàn)在可以通過jsonpCallback參數(shù)顯式指定

  11. 部分CSS相關(guān)方法被重寫。其中,.css()方法效率有兩倍的提升, .addClass()、.removeClass()和.hasClass()效率有三倍的提升。.toggleClass() 方法可以一次切換多個(gè)class
    $("div").toggleClass("current active");
  12. 在jQuery 1.4中,許多dom操作相關(guān)方法在性能上大幅提升

    其中.append()、 .prepend()、.before()、和 .after() 的性能被改善,
    .html() 的性能提升了近3倍。
    .remove() 和 .empty()的性能提升了近4倍。

  13. jQuery(”tag”)效率有所提升

    當(dāng)傳入一個(gè)tag名稱進(jìn)行尋找時(shí),搜索算法有所改進(jìn) 。

  14. 使用id開始的選擇器獲取元素的速度進(jìn)一步提升

    類似于jQuery(’#id p’)這樣以id開始的選擇器獲取元素的速度有所優(yōu)化,速度是最快的。

  15. jQuery()(或$())將返回jQuery空對(duì)象

    在之前當(dāng)調(diào)用jQuery()時(shí),默認(rèn)返回的是document的jQuery對(duì)象,也就是等價(jià)于jQuery(’document’)。在1.4版本中將不再做這樣的轉(zhuǎn)換,直接返回jQuery空對(duì)象。

    在1.4中,之前jQuery().ready()的寫法不建議使用(雖然仍然可以用),應(yīng)當(dāng)寫作jQuery(document).ready()或jQuery(function(){})

  16. 添加了新事件.focusin()和.focusout()

    .focusin()和.focusout()方法等價(jià)于focus()和blur()方法,不同的是支持事件冒泡。需要注意的是focus()和blur()事件依然不可以通過live()方法綁定。

  17. 幾乎所有事件都支持live()綁定

    除了ready、focus(用focusin替代)、blur(用focusout替代)事件外的所有事件都支持live綁定

  18. jQuery 1.4對(duì)內(nèi)部結(jié)構(gòu)重新組織,并開始建立代碼風(fēng)格規(guī)范

    之前的core.js被劃分為attribute.js, css.js, data.js, manipulation.js, traversing.js和queue.js。ready事件被移至core.js中。

    jQuery 1.4開始建立了代碼風(fēng)格規(guī)范,大多數(shù)核心代碼符合這一規(guī)范。雖然這個(gè)規(guī)范僅有幾條,但我相信這是一個(gè)良好的開端。

【相關(guān)測(cè)試】

在jQuery 1.4中解決了207個(gè)bug(相比之下,1.3解決了97個(gè)bug)。

此外,測(cè)試用例從1.3.2的1504個(gè)增加了1.4版本的3060個(gè)。這些測(cè)試100%通過當(dāng)下主流瀏覽器(Safari 3.2,Safari 4, Firefox 2, Firefox 3, Firefox 3.5, IE 6, IE 7, IE 8, Opera10.10, 和 Chrome)。

【版本兼容性處理】

從上面還是可以看出1.4是做了相當(dāng)多的更新,為了保證當(dāng)前版本的向后兼容(也就是希望你之前使用jQuery 1.3版本的程序平穩(wěn)過渡到1.4版本上),官方特意提供了兼容性腳本補(bǔ)丁,如下使用:

 <script src="http://code.jquery.com/jquery.js"></script>
<script src="http://code.jquery.com/jquery.compat-1.3.js"></script>
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
jquery學(xué)習(xí)必備代碼和技巧
jQuery修改操作css屬性實(shí)現(xiàn)方法
jQuery CDN公共庫 jQuery版本遷移輔助插件
jQuery技巧總結(jié)
JQuery無廢話系列教程(一) 入門
JQuery技巧總結(jié)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服