Technikwürze

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

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

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

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 macx

    jQuery 1.4 unterstützt bei @.live()@ statt focus nun @focusin@ und @focusout@. Somit könnt ihr durchaus dieses Event abgreifen.

  • Lars Lars

    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 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 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 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 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...

  • Lukas Lukas

    Ich muss ganz ehrlich sagen:

    Technikwürze wird mir zu jQuery-lastig :(

    • Marcel Marcel

      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

By submitting your data, you agree that all entered data may be saved and displayed as a comment.