自 1.4a1 發佈後就陸續有使用者回報各種 Bug 問題,終於在約 1 個月後的現在正式發佈 jQuery 1.4 正式版,同時也修正了 207 Bugs!
jQuery 1.4 下載位置
正常版本:http://code.jquery.com/jquery-1.4.js
壓縮版本:http://code.jquery.com/jquery-1.4.min.js
同時 Google 也提供了 Host 服務:
正常版本:http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js
壓縮版本:http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js
以下幾點是 1.4 版的新特性及功能:
1.除了新增了約 14 個新的函式(參考Version 1.4 – jQuery API)之外,也大幅提升一些常用函式的效能。

2.擴充原先的 Setter 函式,讓 .css(), .attr(), .val(), .html(), .text(), .append(), .prepend(), .before(), .after(), .replaceWith(), .wrap(), .wrapInner(), .offset(), .addClass(), .removeClass() 及 .toggleClass() 在設定屬性值時還可額外接受函式來進行更進階的處理:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <script type="text/javascript"> $(function(){ // 把有 target 屬性的超連結 title 屬性變更成為 title + ' (在新視窗中開啟)' $('a[target]').attr('title', function(index, title){ return title + ' (在新視窗中開啟)'; }); // 把有 target 屬性的超連結文字內容變更成為 '前往》' + text $('a[target]').text(function(index, text){ return '前往》' + text; }); }); </script> <body> <a href="http://www.google.com" title="google" target="_blank">Google</a> </body> |
3.在 Ajax 中加入更多新的功能及特性,例如也支援新的 HTML 5 input 元素的序列化。
4.同時也針對了屬性(Attributes)、jQuery() 核心、CSS、Data、動畫(Effect)、事件(Event) 及 DOM 操作都有明顯的效能改善;像是 .css() 就比 1.3.2 版提升了約 2 倍以上的效能,.remove() 和 .empty() 甚至有 4 倍以上的提升呢。
不相容的部份
jQuery 1.4 為了提升效能而改變了一些函式的用法及結果,因此若使用 1.4 版時得注意一下:
1..add() 回傳時總是依元素在文件(document)中的順序。
2..clone(true) 會連事件及 .data() 中的資料一併複製。
3.jQuery.data(elem) 不在只是回傳 id,而是回傳元素的 cache 物件。
4.jQuery() 不再轉換成 jQuery(document) 了。
5..val("…") 使用在 option 及 checkbox 元素時只會認 value 而不再考慮 text 了。
6.jQuery.browser.version 現在是回傳瀏覽器引擎(Engine)版本。
7.如果格式不是正確的 JSON 字串時會拋出 Exception。
8.改用 PHP/Rails 的方式來序列化參數,例如:foo[]=bar&foo[]=baz。若想改回 foo=bar&foo=baz 的話,可以設定 jQuery.ajaxSettings.traditional = true; 或是在每次使用 ajax 時設定 traditional 參數為 true。
9.內建的 jQuery.className 被移除了。
10.jQuery.extend(true, …) 不再支援非物件或陣列。
11.使用 Ajax 請求卻沒有特別指定 ContentType 時,如果是 text/javascript 時則會自動當成是 JavaScript 來處理。之前的版本都要特別指定才行。
12.使用 Ajax 請求若指定 ifModified 為 true 時,會把 ETags 加入判斷使用。
更多詳細的更新內容可以在 jQuery 1.4 Released 中看到清楚的說明。


2010-06-09 20:36:40
這個就是利用 Google Ajax Library API 載入 jQuery????
你版本要更新了喔!!!!
2010-06-09 21:38:30
是的...如果只指定到 1.4 的話...Google 會吐 1.4 版中最新的給你
http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js
2010-07-19 11:17:55
男丁大 請教一個問題
使用 .data() 跟 使用 屬性 attr() 來存取 何者效率 較高?
如果說屬性不建議儲存 變數
.data() LOAD 的 速度會比 抓 HTML上的tag 屬性來的快嗎?
2010-07-19 12:40:56
通常都是要大量的使用才會有較大的效能差異...
data()的好處是連 obj 都能放..
attr() 的話..則是原生的 dom 就有提供的 getAttribute() 功能