Rolf B: Meine toggleAttribute-Funktion will den alten Wert nicht überschreiben

Beitrag lesen

Hallo Felix,

Ja, Attributwerte sind Strings, nichtleere Strings sind truthy und deswegen ist der Vergleich value==true immer wahr, wenn im Attribut etwas drin steht. Dass ist sicherlich nicht der Sinn der Sache.

Die Zuweisung von booleschen Werten an das Attribut dürfte in einen String konvertiert werden, aber da bin ich nicht 100% sicher, sowas mache ich nie.

Das darf man nicht mit Propertys verwechseln, die Attributwerte widerspiegeln. Zu einem booleschen HTML Attribut wie checked gibt es ein Property checked im DOM, das true oder false ist. Allerdings haben boolesche HTML Attribute auch nicht den Wert true oder false, sondern sind vorhanden oder nicht. Die Aria-Attribute gehen einen anderen Weg, vielleicht, um false und "nicht angegeben" besser unterscheiden zu können.

Rolf

--
sumpsi - posui - obstruxi