jQuery 1.3.2

jQuery 1.3.2已於2/20釋出,跟1.3.1差不多,以修Bug為主,但也有一些改變,整理以下:

  • $("h1,h2,h3")的寫法,原本得到的群組會先列出所有的h1, 再來是所有的h2,再來是h3;1.3.2起則會依照元素在DOM中的出現順序排列。這個修改是為了符合W3C的Selector API規範
  • .live()可以支援event.stopPropagation()或return false,防止事件浮到上層元素。
  • :visible/:hidden改變做法,過去以display:none或visibility:hidden判定,1.3.2+改用offsetWidth/offsetHeight是否為0判別,一方面速度變快N倍,另一方面,被藏在hidden中的元素也能被判為hidden。
  • height(), width(), innerHeight(), innerWidth(), outerHeight(), outerWidth()調整過,速度快了N倍。
  • Sizzle selector engine在IE6下的表現加快22%。
  • appentTo(), pretendTo(), insertBefore(), insertAfter(), replaceAll()改為傳回所有加入後的元素,而非原本的元素。如果若元素被複製多份加在多處,之後串接API的處理對象會包含全部新加入的分身。

另外,在Bug Tracker的1.3.2修復清單中,也可以查到我先前通報的#3254 Defective cloned object也在本版中修復了。這樣我就算是參與了jQuery的發展史,哇哈哈哈~~~ (自High中...)

Published 24 February 2009 07:50 PM 由 Jeffrey
Filed under:


意見

# Ike said on 05 November, 2009 12:55 AM

:visible/:hidden 改寫後,我發現一個問題…

在將 tr 以 .hide() 方式隱藏後,使用 $("tr:visible").length 來取得非隱藏 tr 數量會有誤差,不知道黑大對於「取得非隱藏 tr 數」的方式有沒有好建議?

P.S. 在 1.3.1 之前的版本是正常的

# Jeffrey said on 18 November, 2009 10:09 PM

to lke, 我想這是個bug(www.mail-archive.com/.../msg04115.html),Sizzle.selectors.filters.visible = function(elem){ return elem.offsetWidth > 0 || elem.offsetHeight > 0; };的檢測方法,在IE8上,隱藏的tr還是會有offsetWidth,所以就誤判了。至於是否算是IE8未照HTML規格走,則是另一個問題。

# Ike said on 19 November, 2009 06:19 PM

感謝您的回覆,希望能有某一方來解決這個 Bug ^^"

補充一下,在 IE7 也會這樣。

# Ike said on 17 January, 2010 11:59 PM

很高興這個問題在 1.4 裡解決了 ^^

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 

請輸入以上的數字:

搜尋

Go

<February 2009>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567
 
RSS
【工商服務】

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication