ist ein
getElementsByClassName
langsamer als ein entsprechender Selektor in CSS?Der Browser dürfte
Der Entwickler dürfte nicht spekulieren, sondern benchmarken.
Bei
getElementsByClassName
würde der Browser erst beim Aufruf der Funktion das DOM traversieren, also bspw. auf eine Nutzeraktion hin.
Das ist unplausibel. Es wird wahrscheinlich dieselbe Hashtabelle verwenden, die er zum Anwenden von Klassenselektoren verwendet. Er wird sicher nicht mit jedem getElementsByClassName das gesamte DOM noch einmal durchlaufen.
Das dauert dann halt ein bisschen, die daraufhin folgende Styleänderung aller Elemente der Klasse "quz" lässt auf sich warten. Und das bei jeder Änderung erneut.
Eher das ist das Problem: Das DOM ist langsam und das einzelne Ändern von Knoten samt Anwenden der Styles und Paiting dauert erfahrungsgemäß. Das sind aber nur allgemeine Erkenntnisse. Bei so konkreten Fragen heißt es entweder benchmarken oder Quellcode von Browsern lesen.
Mathias