14 stycznia światło dzienne ujrzała nowa wersja frameworka jQuery. Zmian, oprócz poprawy wydajności, trochę się nazbierało.
Zmian jest dość dużo, poniżej lista takich, które najbardziej ucieszyły mnie osobiście:
- dotychczas jako parametr funkcji .attr() można było podać funkcję- teraz można to zrobić także z większością setterów (.html(), .css(), .val(), .append() itd.). Co więcej, jako drugi parametr wywołania tej funkcji, jQuery przekazuje teraz dotychczasową wartość elementu (jeśli można ją określić)
- funkcja .param() poprawnie serializuje tablice
- możliwość określenia kontekstu wywołania callbacków przez funkcję .ajax() i przekazanie obiektu XMLHttpRequest jako trzeciego parametru callbacka success
- wszystkie zdarzenia mogą być przypisywane przez .live() – przy czym focus i blur zastępuje focusin oraz focusout
- nowa metoda .unwrap() – jak sama nazwa wskazuje
- .nextUntil(), .prevUntil(), .parentsUntil() – pozwalają przetwarzać listę obiektów do napotkania obiektu o podanym selektorze
- możliwość tworzenia obiektów z parametrami i zdarzeniami za jednym zamachem. Czyż
jQuery("<div/>", { id: "foo", css: { height: "50px", width: "50px", color: "blue", backgroundColor: "#ccc" }, click: function() { $(this).css("backgroundColor", "red"); } }).appendTo("body");nie wygląda pięknie?
- a na koniec przydatny drobiazg – funkcja .delay(), która wstrzymuje wykonywanie łańcucha na określony czas.
Żeby nie było tak słodko, pojawiają się powoli coraz większe problemy z kompatybilnością w dół. Bodaj najbardziej upierdliwym wydaje się ten, że skrót jQuery() przestał być równoznaczny z jQuery(document) – a był on niezwykle popularny. Na szczęście autorzy udostępniają plugin, który zapewnia całkowitą zgodność w dół.
A wszystkie szczegóły nowego wydania można przeczytać na stronie jquery14.com.

