Matti Maekitalo: mouseover und mouseout

Beitrag lesen

Tach auch.

Mit HTML5 ist es erlaubt, eigene Attribute zu definieren. [...]
Weiterhin hat es den Vorteil, dass man die Eventhandler einfach allen Elementen zufügen kann, welche dieses Attribut tragen.

und was spricht gegen die Verwendung einer bestimmten Klasse anstatt eines selbstdefinierten Attributes? Ist das nicht wesentlich semantischer?

Es kommt drauf an. Im Beispielcode von dir, den ich zitiert habe, hast du ein anderes Attribut benutzt, um dort Daten zu speichern. Das ist zumindest nicht semantisch korrekt (du benutzt selber das Wort mißbrauchen). In einem eigenen Attribut passen diese Daten wunderbar hinein.

Für Fälle, in denen man keine Daten ablegen muß, sondern nur Elemente in einer bestimmten Form auszeichnet, ist die Klassenlösung gut und bewährt.
Wenn du Daten ohne eigenes Attribut abspeichern willst, habe ich bisher einige Krücken gesehen:
 - Speicherung in anderen (fremden) Attributen, etwa auch das id-Attribut, wenn man es anderweeitig nicht benötigt und die Daten einen validen Namen ergeben
 - Vergabe einer ID und dann zentrale Speicherung der Daten in irgendwelchen JS-Arrays über die Zuordnung der IDs

Ob es semantischer ist, mag ich nicht beurteilen. Immerhin sagt ein selbstgewählter Klassenname genausowenig über die Struktur eines Dokuments aus wie ein selbst gewählter Attributname. Intuitiv würde ich die Faustregel nutzen und eigene Aatribute verwenden, wenn ich Daten direkt am Knoten speichern will (hier: den Namen der hovergrafik etwa), zum Auszeichnen wie gehabt CSS Klassen nehmen.

Bis die Tage,
Matti