Zum Hauptinhalt Zur Navigation Zur Suche

$(document).ready - jQuery 1.4 veröffentlicht

Häufig genutzte Funktionen wurden zum Teil dramatisch beschleunigt. Die populäre Javascript-Bibliothek jQuery ist in der Version 1.4 veröffentlicht worden. Die neue Version soll deutlich schneller sein und wartet zudem mit einer Vielzahl neuer Funktionen auf.
/ Jens Ihlenfeld
85 Kommentare Auf Google folgen (öffnet im neuen Fenster)

Die Javascript-Bibliothek jQuery erleichtert Webentwicklern das Leben, denn sie stellt oft benötigte Funktionen in einer browserunabhängigen Version bereit. Bereits im Vorfeld der Veröffentlichung von jQuery 1.4 wurde unter api.jquery.com(öffnet im neuen Fenster) eine neue API-Site für jQuery veröffentlicht. Hier sind sämtliche Funktionen der Bibliothek dokumentiert und oft mit Beispielen hinterlegt, was sicher auch zur Popularität von jQuery beiträgt.

Pünktlich zum vierten Geburtstag von jQuery ist in der Nacht zum Freitag die Version 1.4 mit tiefgreifenden Änderungen erschienen. Viele der populärsten und am häufigsten verwendeten jQuery-Funktionen wurden zum Teil signifikant überarbeitet und ihre Geschwindigkeit mitunter drastisch gesteigert. Dabei wurde vor allem die Zahl der internen Funktionsaufrufe und damit auch die Komplexität der Funktionen reduziert. In extremem Maße trifft dies auf die Funktionen html(), emtpy() und remove() zu.

Die Geschwindigkeit von .css() und .attr() haben die jQuery-Entwickler entsprechend ihrer eigenen Benchmarks über alle Browser in der Summe um rund 30 Prozent gesteigert. Allein soll .css() etwa doppelt so schnell sein wie in jQuery 1.3.2. Funktionen wie .addClass(), .removeClass() und .hasClass() sind sogar rund dreimal schneller als zuvor.

Auch das Einfügen ins DOM soll mit jQuery deutlich schneller sein. So soll .html() rund dreimal so schnell arbeiten als zuvor, .remove() und .empty() viermal so schnell.

In Sachen Ajax unterstützt jQuery 1.4 nun die Serialisierung verschachtelter Parameter(öffnet im neuen Fenster), erkennt automatisch(öffnet im neuen Fenster), wenn es sich bei Antworten auf Ajax-Request um JSON-Daten oder auszuführendes Javascript handelt, kann gezielt auf den Browsercache zugreifen und unterstützt das Etag. Zudem kann für Ajax-Anfragen ein Kontext definiert werden, was den Code übersichtlicher machen soll.

Nativer JSON-Parser

Sofern der Browser einen nativen JSON-Parser zur Verfügung stellt, nutzt jQuery 1.4 diesen. Dabei kann die Funktion jQuery.getJSON()(öffnet im neuen Fenster) auch zum strikten Parsen der Daten gezwungen werden. Neue Input-Typen aus HTML5, beispielsweise datetime oder range, werden von .serialize() nun ebenfalls serialisiert. Die Verwendung von onreadystatechange für Ajax-Aufrufe soll Ressourcen schonen, denn bisher wurde hierzu auf regelmäßiges Polling mit Hilfe eines Timers gesetzt.

Wird ein einzelnes neues Element angelegt, kann es direkt mit Daten bestückt werden. Die Funktionen .eq() und .get() verarbeiten nun auch negative Übergabewerte. So kann beispielsweise das zweitletzte Element direkt angesprungen werden. Mit .toggleClass()(öffnet im neuen Fenster) lassen sich mehrere Klassen auf einmal ändern.

Schnellere Methoden, wenn möglich

Wird der Funktion jQuery() ein einzelnes Tag übergeben, kommen schnellere Methoden als sonst zum Einsatz. Ähnliches gilt für Selektoren, die mit einer ID beginnen, beispielsweise ""#id p".

Ereignisverarbeitung vereinfacht

Die Ereignisse change und submit wurden normalisiert, das heißt, sie verhalten sich in allen Browsern gleich. Dazu wurde das Standardverhalten des Internet Explorer ersetzt.

Neu ist die Methode .detach()(öffnet im neuen Fenster): Sie entfernt Elemente aus dem DOM, nicht aber die daran gebundenen Eventhandler. Gedacht ist dies für Fälle, in denen ein Element nur temporär zur Manipulation entfernt wird. Die Manipulation mittels before, after oder replaceWith funktioniert in jQuery 1.4 auch mit Elementen, die nicht Teil des DOM sind, was es erlaubt, komplexere Manipulationen außerhalb des DOM vorzunehmen.

Die ebenfalls neue Methode unwrap()(öffnet im neuen Fenster) kann die Kind-Elemente umschließenden Eltern-Elemente entfernen.

Interne Reorganisation

Mit dem Ziel, den Code von jQuery verständlicher zu gestalten, wurden intern größere Umstrukturierungen vorgenommen: Die Datei core.js wurde in die Dateien attribute.js, css.js, data.js, manipulation.js, traversing.js und queue.js aufgespalten, das Ereignis ready in den jQuery-Kern integriert, da es ein fundamentaler Teil von jQuery ist.

Zudem wurde die Testabdeckung für jQuery deutlich erhöht. Während jQuery 1.3.2 von 1.504 Tests abgedeckt wurde, kommt jQuery 1.4 mit 3.060 Tests daher. Die Javascript-Bibliothek besteht dabei sämtliche dieser Tests in allen wesentlichen Browsern: Safari 3.2 und 4, Firefox 2, 3 und 3.5, Internet Explorer 6, 7 und 8 sowie Opera 10.10 und Chrome.

Die Javascript-Bibliothek jQuery steht in der Version 1.4 ab sofort unter jquery.com(öffnet im neuen Fenster) zum Download bereit und ist minimiert und mit gzip gepackt nur 23 KByte groß. Die Software kann sowohl unter der MIT-Lizenz als auch der GPL v2 genutzt werden. Eine Übersicht der Neuerungen in jQuery 1.4 gibt es unter jquery14.com(öffnet im neuen Fenster).


Relevante Themen