Hallo Gunnar,
es gibt aber Attribute [a.k.a. Properties] der DOMStringMap, die dem dataset Property eines HTML Elements zu Grunde liegt. (Ja, ich eiere herum. Properties heißen nur im Datenmodell „Attribute“[1]. Aber warum nicht. In 8 Tagen ist Ostern[2]).
Dass sowas wie fooElement.dataset.bar-baz nicht funktionieren kann[4], ist logisch - das würde ja auch mit normalen JavaScript-Objekten nicht funktionieren. Aber in JavaScript ist fooObj['bar-Prop'] = 4711 durchaus möglich - deswegen hatte mich zuerst überrascht, dass das nicht ging. Dich ja auch, sonst hättest Du in deinem Script Vorkehrungen getroffen 😉. Angesichts der Abbildung von DOMStringMap Propertynamen auf data-Attributnamen ist es natürlich logisch.
Und ansonsten - Minuszeichen, Bindestriche, pfff, nerv mich nicht. Es ist immer die gleiche Taste, die ich da drücke. Sourcecode hat keine Typographie. Die Taste rechts neben dem Punkt (de-DE) erzeugt im Sourcecode ein Minuszeichen.
Rolf
sumpsi - posui - clusi