Orlok: wozu noch getElementById ?

Beitrag lesen

Hallo Gunnar

Performance … abnimmt. Daher würde ich doch in Fällen, wo ich diese Vielseitigkeit nicht brauche, lieber bei getElementById() bleiben wollen.

Das wäre in dem Fall wohl Mikro-Optimierung, die sich kaum messbar bemerkbar machen dürfte. Da wäre einfacherem Code (einheitliche Selektor-Syntax) der Vorzug zu geben.

Ob sich das bemerkbar macht, hängt wohl wesentlich davon ab, in welchem Umfang ein Programm die genannten Methoden nutzt. Wenn es nur darum geht, eine Handvoll Elemente zu selektieren, dann ist es mit Blick auf die Performance sicherlich völlig egal, welcher Variante man den Vorzug gibt.

Allerdings meine ich mich erinnern zu können, vor einiger Zeit mal Testergebnisse gesehen zu haben, die zeigten, dass die Methoden getElementById, getElementsByClassName und getElementsByTagName in so ziemlich jedem Browser deutlich, teilweise um ein Vielfaches schneller sind, als wenn die Elemente über querySelector oder querySelectorAll referenziert werden. Bei einer größeren Anwendung könnte das also durchaus ein Faktor sein, der nicht völlig unerheblich ist.

Was das Argument mit der einheitlichen Selektor-Syntax angeht, finde ich nicht, dass dies wirklich in jedem Fall ein Vorteil gegenüber den althergebrachten Methoden sein muss. So wie ich das sehe, ist die Syntax der spezifischeren Methoden insgesamt aussagekräftiger, da man schon beim Lesen des Bezeichners der Methode sieht worum es geht. Das scheint mir wohl eher eine Frage der persönlichen Präferenz zu sein und nichts, was man verallgemeinern kann.

Jedenfalls setze ich die Methoden querySelector und querySelectorAll nur in solchen Situationen ein, in denen sie ihre Stärken auch wirklich ausspielen können.

Viele Grüße,

Orlok