Css Element per JS einsetzen
bearbeitet von Gunnar Bittersmann@@Pit
> ~~~JavaScript, bad
> var myCA = document.createElement("canvas");
> myCA.setAttribute("id", "myCanvas");
> parent.appendChild(myCA);
>
> var canvas = document.getElementById("myCanvas");
> ~~~
Das ist [Unsinn](https://forum.selfhtml.org/cites/2280).
Mit `myCA` hast du bereits die Nadel (die Referenz auf das Element) in der Hand; es ist unsinnig, dasselbe Element nochmal im Heuhaufen (DOM) zu suchen.
> Hier generiere ich ein Canvaselement, in das ich eine Linie einfügen möchte.
>
> ~~~JavaScript
> var Line = document.createElement('hr');
> canvas.appendChild(Line);
> ~~~
>
> Aber die Linie wird nicht generiert.
>
> Was mache ich faksch?
`hr` ist keine Linie. `hr` ist ein thematischer Bruch (welcher desöfteren als Linie visialisiert wird).
`canvas` ist eine Zeichenfläche. `canvas` ist nicht dafür gedacht, andere HTML-Elemente zu enthalten, die dargestellt werden sollen – außer als Fallback in Browsern, die `canvas` nicht unterstützen.
LLAP 🖖
--
*„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“* —Kurt Weidemann