molily: Verschachtelte Funktionen mit Htmlcode

Beitrag lesen

onmouseout='openNewWindow("<div onclick=CloseWindow('Hallo')>...</div>")'
das Problem sind,denke ich, die Hochkomma bzw. Anführungsstriche.

Das Problem ist die mehrfache Verschachtelung:

HTML-Attributwert
   JavaScript-String
      HTML-Attributwert
         JavaScript-String

Das lässt sich mit SEHR viel Gefummel lösen, aber es macht deinen Code nicht besser, sondern nur unübersichtlich und unwartbar.

Besser ist es, solche Kontextverschachtelung zu vermeiden.

  • Vermeide es, JavaScript-Code in HTML unterzubringen. Weise Event-Handler per JavaScript zu. Vergebe im Dokument nur IDs und Klassen und suche die die Elemente anhand dessen heraus, um ihnen JavaScript-Interaktivität zu verpassen.

  • Vermeide es, HTML-Code im JavaScript-Code unterzubringen. Schreibe HTML-Code direkt ins Dokument. Wenn du ihn nur per JavaScript einblenden willst, dann verstecke ihn standardmäßig per CSS. Ein ausführliches Beispiel habe ich unter https://forum.selfhtml.org/?t=188652&m=1256090 skizziert.

Mathias