Gunnar Bittersmann: Wie Link, Anker auf Akkordion setzen.

Beitrag lesen

@@Matthias Scharwies


 <a href="#details" onclick="document.getElementById('details').open = true;"><img src="img/testbild.jpg" alt="ein Bild"></a>

Für Kritik und Anmerkungen bin ich offen.

DRY

Du hast den JS-Code in jedem Link, falls du mehrere solche Links setzt.

Ja, das auch. Das ist aber noch mehr WET (das Gegenteil von DRY: write everything twice), denn die Referenz auf das Element mit der ID "details" ist doppelt vorhanden.

Das ließe sich vermeiden mit <a href="#details" onclick="document.querySelector(this.getAttribute('href')).open = true">. Aber das sollte man nicht tun, schon gar nicht bei jedem Link (schlechtes Beispiel).

Man sollte aber keine on…-Attribute verwenden. Eventhandler gehören ins JavaScript, nicht ins Markup.

Eigentlich gehört [onclick] { outline: thick solid red } in jedes Stylesheet.

Kwakoni Yiquan

--
Ad astra per aspera