WebDevTeam’s Blog

Web Development, JavaScript, CSS, Ajax, Web2.0, Usability, Interaction, Tools

Was ist besser: $(’div.element’) oder $(’.element’) ?

with 6 comments

Unbedingt mal lesen: Demystifying the jQuery selectors optimization… wenn das so stimmt 😉

Advertisements

Written by webdevteam

Juli 3, 2009 um 2:21 pm

Veröffentlicht in Uncategorized

Tagged with , ,

6 Antworten

Subscribe to comments with RSS.

  1. Also meine Meesungen im FF3 haben ergeben das die beiden Varianten sich nicht wirklich unterscheiden…

    M aus 23

    Juli 13, 2009 at 10:23 am

    • Servus mit’anand.

      Wer sich mit Langeweile plagt, sollte sich mal diesen Artikel reinziehen: http://ejohn.org/blog/accuracy-of-javascript-time/

      Die Moral von der Geschicht: um Tests tatsächlich aussagekräftig zu machen, sollten diese mind. 750ms (besser sogar 1.5s) laufen.

      Grund? Die Zeitmessung erfolgt gewöhnlich mittels
      var start = (new Date).getTime();
      /* Run a test. */
      var diff = (new Date).getTime() – start;
      Die Browser führen die getTime-Methode jedoch nur aller 15ms aus! Alle dazwischen liegenden Zeiten werden auf das letzte Intervall abgerundet. Führt man also in einer Schleife Zeitmessungen aus, werden diese im Schnitt entsprechend um 7.5ms daneben liegen. Damit dieser Fehler marginal bleibt, muß das Zeitmessintervall hinreichend lang sein (alternativ könnte man auch die Anzahl der Testläufe * 7.5ms von der Gesamtlaufzeit abziehen. Aber das Kredo der Statistik: the more, the better).

      Mein Fazit: die angegebenen Performancemessungen sind also mit Vorsicht zu genießen, solange keiner weiß, wie intensiv/lang der jeweilige Autor getestet hat. Wenn man nicht alles selber … 😉

      HINWEIS zu beiden unten aufgeführten Selektor-Methoden: der Kommentator bezog sich bei der vorgeschlagenen Abwandlung hauptsächlich auf den IE6. Damit bleibt die Performance in den verschiedenen Browsern etwa gleich gut.

      Steffen

      September 3, 2009 at 12:33 pm

  2. Hallo zusammen,

    meld mich nach längerer Abstinenz auch mal wieder zu Wort. Cooler Artikel. Hab auch noch einen in Petto, der das allerdings wieder in Frage stellt.
    http://encosia.com/2009/06/09/11-keystrokes-that-made-my-jquery-selector-run-10x-faster/

    Pauschalisiert vorweg genommen:
    div.class[id$=myID] statt #myID

    Bitte beachtet auch die Kommentare. Hier wird wiederum auf div[id$=myID] geschworen.

    Hintergrund: durch Verwendung der nativen Browserfunktionen soll erheblich Zeit gespart werden können.
    * div — Vorselektierung der betroffenen Elemente durch getElementsByTagName
    * [id$=myID] —
    * .class — Suche mit der wohl performantesten getElementsByClassName (ACHTUNG Comment: angeblich besitzt der IE6 keine getElementsByClassName; daher die abgewandelte Variante)

    Feedback?

    Viel Erfolg!
    Steffen

    Steffen Willschütz

    August 27, 2009 at 12:55 pm

  3. Muss ich mir mal in Ruhe anschauen 🙂 und ausprobieren.

    webdevteam

    August 28, 2009 at 10:26 am


Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: