@@Matti Mäkitalo:
nuqneH
Letzte Frage (und ich gebe zu, dass ich dies durch selbstausprobieren auch evaluieren könnte): ist ein
getElementsByClassName
langsamer als ein entsprechender Selektor in CSS? Es passiert doch beim Traversieren des DOM-Baumes in beiden Fällen nichts wesentlich anderes.
Der Browser dürfte beim Verarbeiten des Stylesheets schon traversiert haben. Wenn sich dann die Klasse eines Elements von "foo" auf "bar" ändert, kann er blitzschnell die Darstellung ändern: Die Regeln für '.foo .quz
' greifen nicht mehr, dafür jene für '.bar .quz
'.
Bei getElementsByClassName
würde der Browser erst beim Aufruf der Funktion das DOM traversieren, also bspw. auf eine Nutzeraktion hin. 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.
Qapla'
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)