jQuery 1.4
Technikwürze 159
Meta: S3 · E32 · Typ full · Veröffentlicht · Aktualisiert
Moderation: Marcel Böttcher
Gäste: Christian Haller
Zusammenfassung
Marcel Böttcher und Christian Haller werfen heute einen Blick auf das brandneu jQuery 1.4, erläutern die zahlreichen neuen Funktionen und geben Tipps zum erfolgreichen Wechseln.
Inhalt
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 neu 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: trü ü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
Kommentare (33)
-
macx
jQuery 1.4 unterstützt bei @.live()@ statt focus nun @focusin@ und @focusout@. Somit könnt ihr durchaus dieses Event abgreifen.
-
Yeah, ein OM'ler aus Furtwangen in der Technikwürze. Glückwunsch und weiter so. Sendung wie immer Top, gibt einen guten Überblick über die Änderungen. Hier noch ein, wie ich finde, sehr gutes jQuery 1.4 Cheat Sheet: http://www.futurecolors.ru/jquery/
-
Steffen Rühlmann
Sehr interessanter PodCast zum Thema - das macht "Hunger" auf mehr.
Ich hatte vor Kurzem auf nettuts.com auch noch eine gute Übersicht zu den neuen Features gefunden -> http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/
-
Timo Körber
cooler Podcast... kam bisher nicht dazu mir die Neuerungen der neusten Version anzuschauen bzw. sie zu vertiefen. Habt ihr gut erklärt. Bin gespannt auf weiteres...
-
Thomas Weise
Gratulation auch zu der, wie ich finde, wieder sehr gelungenen Sendung!
Könnt ihr doch den "Neuen" (Christian Haller) mit ins Moderatoren-Team aufnehmen, er hat seine Erfahrungen gut rübergebracht.Macht bitte weiter so ;-).
-
Schepp
Danke für das Fabrizieren dieser kleinen knackigen Folge. Kompliment auch an Neu-Moderator Christian Haller. Premiere ohne Kratzer überstanden, würde ich sagen!
Was mir beim Hören in den Sinn kam zu ergänzen wäre folgendes:
jQuery von Content Delivery Networks à la Google AJAX APIs einbinden ist nicht nur aus Gründen potentiell mangelnder Kontrolle nicht immer zu favorisieren, tatsächlich bieten CDNs gerade bei den JS-Frameworks in Sachen Ladebeschleunigung in der Praxis keinen Vorteil. Bestenfalls entsteht aktuell kein Nachteil. Das widerspricht jetzt zwar allen grauen CDN-Theorien, wird aber hier schön mit Zahlen untermauert:
http://zoompf.com/blog/2010/01/should-you-use-javascript-library-cdns/
Die Nachteile gelten aber im Speziellen für JavaScript, weil es die Eigenschaft hat das Laden aller anderen Ressourcen zu blockieren. CDNs machen allerdings durchaus Sinn für alle sonstigen statischen Bestandteile einer Seite, und spielt seine Stärken aus, wenn man seine Inhalte global ausliefert (also kein generelles Kontra).So, weiter geht's mit Musik...
-
Ich muss ganz ehrlich sagen:
Technikwürze wird mir zu jQuery-lastig :(
Hallo Lukas,
keine Angst, wir werde es nicht übertreiben. Jedoch ist jQuery inzwischen das wohl verbreitetste Framework und mit der neuen Version sind viele erklärungsbedürftige Features hinzu gekommen. Die kommenden Wochen stehen aber nun wieder Themen fernab von JavaScript an.
Marcel