Javascript - Klasse ändern
bearbeitet von
Hallo Ingrid,
das Beispiel im Wiki war ziemlich antik. Ich habe es etwas modernisiert.
Was data-Attribute sind, hat Auge bereits erklärt. Im Beispiel veraltet war aber der Zugriff mit getAttribute. Jedes HTML Element hat eine Eigenschaft `dataset`, die die Werte der data-Attribute bereitstellt. Die Schreibweise der Attributnamen wird dabei leicht modifziert; ein data-Attribut wie `data-aussehen-klasse` würde sich als `dataset.aussehenKlasse` wiederfinden.
Über die dataset-Eigenschaft könnte man auch den Inhalt eines data-Attributs verändern. `elem.dataset.aussehen = "grün"` würde den Wert des Attributs data-aussehen auf grün setzen.
Veraltet war auch die Variablendeklaration mit `var`. Wenn man einen Wert speichert, ohne ihn nochmal überschreiben zu müssen, tut man das heute mit `const`. Alternativ gibt es `let` für veränderbare Werte.
Mit dem Funktionsnamen `ändereKlasse` war ich auch nicht glücklich. Funktionen sollten möglichst nach dem fachlichen Sachverhalt benannt sein, nicht nach dem technischen Vorgehen. Genauso unglücklich fand ich den Namen des data-Attributs. Im Beispiel wird damit ein Aussehen festgelegt. Also sollte es auch so heißen: data-aussehen. Der Name `data-aussehen-klasse` könnte noch besser sein, aber manchmal kann man es mit der Lesbarkeit auch übertreiben 😉
Ich hoffe, keinen dummen Flüchtigkeitsfehler eingebaut zu haben. Das Beispiel im Frickl (klick auf "ausprobieren") funktioniert auf jeden Fall.
_Rolf_
--
sumpsi - posui - obstruxi