為慶祝jQuery的四周年生日,jQuery官方團(tuán)隊正式發(fā)布了jQuery 1.4版本。在這個版本中,jQuery官方團(tuán)隊做了大量的編碼、測試和文檔工作,相對之前版本自然改進(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()方法傳入一個函數(shù),將函數(shù)的返回值賦予某個屬性。1.4中,這個功能被添加到了更多的方法中:.css()、 .attr()、 .val()、 .html()、 .text()、 .append()、.prepend()、 .before()、 .after()、.replaceWith(), .wrap()、 .wrapInner()、 .offset()、 .addClass()、 .removeClass()、 .toggleClass()。
此外,在下面方法中,還可以傳入當(dāng)前值作為設(shè)置函數(shù)的第二個參數(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()
之前對于{foo: ["bar", "baz"]}序列化后的結(jié)果是“foo=bar&foo=baz”,現(xiàn)在為“foo[]=bar&foo[]=baz”。 這樣更改的目的主要是告訴接收端,傳入的是一個數(shù)組對象。
3、在jQuery.ajax 中可在不指定dataType屬性時,會根據(jù)response的content-type自動識別。
例如:ajax請求返回的對象是json類型(application/json),則dataType會自動指定為”json”(不指定的情況下)。
4、在jQuery.ajax請求中,添加對Etag的支持。
之前jQuery在ajax請求中是在header中不發(fā)送If-None-Match值的(也就是不支持Etag),也就默認(rèn)忽略了瀏覽器緩存,F(xiàn)在可以通過指定ifModified屬性開啟它。
提示:如果您不了解http header的相關(guān)知識,推薦閱讀這篇文章。
出處:css9.net
責(zé)任編輯:moby
上一頁 下一頁 jQuery 1.4新特性及其變化 [2]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|