Einführung
- jQuery ist in Version 1.4 erschienen
- Einen Einstieg in jQuery selbst gibt es in Folge 147
- jQuery ist gewachsen: 23 KB ist die Version 1.4 nun groß und somit um 5 KB schwerer
- Kompiliert wird jQuery jetzt mit dem Google Closure Compiler und nicht mehr mit dem YUI Compressor – das spart 13 %
- Google liefert bereits jQuery 1.4 aus, wenn man lediglich Version 1 angegeben hat
- Rund um den Release wird das Webevent 14 Days of jQuery veranstaltet
- Ebenfalls mit dem Release wurde die neue jQuery Dokumentation veröffentlicht – und lässt nun auch Kommentare zu
Kompatibilität
- Kompatibilitätsprobleme beim Umstieg von der 1.3 gibt es wenige – hierzu gibt es eine Liste potenziellen Inkompatibilitäten
- Bei Problemen hilft dieses Plugin
Performance
- Der Flaschenhals liegt oft anderswo
- Trotz allem: Nach eigenen Angaben hat jQuery deutlich an Performance gewonnen
** @.addClass()@, @.removeClass()@, @.hasClass()@ und @.html()@ sind jetzt 3x so performant
** @.remove()@ und @.empty()@ sollen nun 4x so schnell verarbeitet werden
** HTML Fragmente werden jetzt gecached
** JSON kann mit der Version 1.4 nativ geparst werden
Funktionen
jQuery bringt in der Version 1.4 zahlreiche neue Funktionen.
Easy Setter Functions
- Alle Setter-Methoden können nun eigene Funktionen enthalten
- Vorteil: Return der Funktion kann direkt verarbeitet werden, muss nicht mehr in einem Zwischenschritt abgelegt werden
Core
- .jQuery erstellt komplexe DOM-Elemente. Damit können Elemente in einem Aufruf z.B. direkt mit Click-Events und weiteren Attributen erstellt werden
- .eq und .get können jetzt auch mit negativen Werten umgehen und haben mit .first und .last komfortable Aliase erhalten
- .toArray erweitert .get() und stellt sicher, dass immer ein Array zurück gegeben wird
Ajax
- Dank Etag-Support kann man ab sofort mit ifModified: true überprüfen, ob das Dokument oder die Datei überhaupt seit dem letzten Aufruf geändert wurden
- JSON und Script werden nun automatisch erkannt und muss nicht im dataType angegeben werden
Attributes
- .toggleClass kann in 1.4 mit mehreren Selektoren umgehen
Events
- .bind unterstützt nun mehrere Events in einem Aufruf
- .focusin und .focusout sind als Equivalent zu .focus und .blur hinzugekommen, unterstützten jedoch Event-Bubbling
- Das neue .live unterstützt nun (fast) alle Events, die sich mit .bind() ansprechen lassen (Ausnahmen: @.focus()@, @.blur()@ und @.ready()@) und kann einem Context zugewiesen werden
Traversing
- Mit .nextUntil, .prevUntil und .parentsUntil wird die Auswahl von bestimmten Elementen weiter vereinfacht
- .has gibt es jetzt als vom gleichnamigen Filter abstammende Methode
- Ebenso wie .toggleClass() kann nun auch .closest mit mehreren Selektoren umgehen
Manipulation
- .unwrap entfernt das umschließende Element, behält jedoch die Kinder
- .detach entfernt ein Element, behält jedoch die verknüpfen Events und kann so später neu verwendet werden
Effects
- Mit .delay lassen sich auf sehr komfortable Weise Animationen pausieren. Die Zeit wird einfach in Millisekunden angegeben
- In Animationen können nun einzelnen Eigenschaften einzelne Effekte zugewiesen werden