Home » jQuery 資源

jQuery 1.4 正式登場!

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() 在設定屬性值時還可額外接受函式來進行更進階的處理:

檢視原始碼 JavaScript
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() 核心CSSData動畫(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("…") 使用在 optioncheckbox 元素時只會認 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 請求若指定 ifModifiedtrue 時,會把 ETags 加入判斷使用。

更多詳細的更新內容可以在 jQuery 1.4 Released 中看到清楚的說明。

4 筆針對 jQuery 1.4 正式登場! 的迴響

  1. 男丁大 請教一個問題

    使用 .data() 跟 使用 屬性 attr() 來存取 何者效率 較高?
    如果說屬性不建議儲存 變數
    .data() LOAD 的 速度會比 抓 HTML上的tag 屬性來的快嗎?

    • 通常都是要大量的使用才會有較大的效能差異...

      data()的好處是連 obj 都能放..
      attr() 的話..則是原生的 dom 就有提供的 getAttribute() 功能

發表迴響