Hallo Linuchs,
zunächst mal ist dedlfix Antwort diejenige, in in deinem vorhandenen Konstrukt die zielführendste ist.
Der erzeugte Link muss so aussehen: <a href="javascript:setCookie('my_ORT',13596)">HIER</a>
, um funktionieren zu können, daher ist dein escapetes " um my_ORT herum das Problem.
Mit Anführungszeichen bist Du übrigens auch an anderer Stelle nicht sauber. In der ausführlichen Liste fehlt der class-Angabe von h3 Orts-Kalender ein Anführungszeichen.
PL schlug vor, ein Template in einen script-Block zu setzen. Kann man machen - aber wenn Deine Zielgruppe es zulässt, könntest Du auch das <template> Tag von HTML5 verwenden.
ICH frage mich allerdings, warum Du HTML mit document.write im Browser erzeugst. Es ist doch viel einfacher, das Ziel-HTML direkt am Server zu erstellen. Welche fiese Rahmenbedingung zwingt Dich dazu? Du "versteckst" an einigen Stellen HTML in JavaScript-Strings. Hilft das gegen Script-Kiddies, die deine Seiten absaugen wollen? Mit direktem HTML hättest Du all die Probleme nicht.
Vom Design her würde ich Dir noch vorschlagen wollen, den Link "zur ausführlichen Liste" / "zur komprimierten Liste" in einer Zeile zu halten (mit span class="nowrap").
Die h1 Problematik ist schon anderswo diskutiert worden. Ich sehe bei Dir ein h1 bei "klingende Kalender für Europa" - finde ich korrekt - und dann eins beim Städtenamen. Ich empfinde diese beiden Dinge nicht als gleichrangig. Vor allem nicht, weil dem h1 des Städtenamens das <h3>Orts-Kalender</h3> übergeordnet ist. Es wäre vermutlich semantisch korrekter, hier kein h1 zu wählen. Allerdings bin ich überhaupt nicht sicher, was wirklich korrekt ist. Ich spreche das hier nur deshalb an, weil ich selbst was lernen möchte und dein Layout für eine interessante Fragestellung halte.
Rolf
--
sumpsi - posui - clusi