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
