Frage zum Wiki-Artikel „CreateElement“
Renatus Reiser
- frage zum wiki
Nach allem, was ich über das DOM gelesen habe, ist es nicht möglich, eine neue Element-Node in ein Dokument einzufügen, die ATTRIBUTE enthalen soll (so wie etwa IMG)!
Ist das so?
Hallo,
nein, das ist nicht so. Wo hast du das denn gelesen?
Gruß
Jürgen
Hallo Renatus Reiser,
Jein.
Du musst das in mehreren Schritten machen. Zuerst das Element erzeugen, dann mit setAttribute die Attribute ergänzen und das Ergebnis dann ins DOM hängen.
Rolf
Danke lieber Rolf für Deine aufschlussreiche Antwort.
Du hast natürlich recht. (Und fünf Minuten nachdem ich meine Anfrage abgeschickt hatte, habe ich die Lösung dann selber auch gefunden - nach einem verzweifelten Nachmittag der ergebnislosen Suche...)
@@Rolf B
Du musst das in mehreren Schritten machen.
Nein, musst du nicht.
Es gibt andere Methoden, Elemente ins DOM zuhängen: insertAdjacentHTML
🖖 Живіть довго і процвітайте
Hallo Gunnar,
grundsätzlich ja, und ich gestehe auch ein, diese Methode nicht auf dem Schirm gehabt zu haben. Sie ist zum Erstellen von Textinhalten aber genauso eine Footgun wie innerHTML.
Denn eine Überschrift wie <h2>Müller & Sohn</h2>
oder Fall 2: a < b
braucht besondere Aufmerksamkeit, und LEIDER fehlt JavaScript die htmlspecialchars-Funktion, mit der uns PHP verwöhnt. Die ist natürlich schnell zusammengetippelt, aber man muss es halt tun.
Rolf
@@Rolf B
Denn eine Überschrift wie
<h2>Müller & Sohn</h2>
oderFall 2: a < b
braucht besondere Aufmerksamkeit
Solange Leerzeichen hinter &
bzw.<
stehen, ist das Aufmerksamkeit genug. (Beispiel)
🖖 Живіть довго і процвітайте
@@Gunnar Bittersmann
Denn eine Überschrift wie
<h2>Müller & Sohn</h2>
oderFall 2: a < b
braucht besondere AufmerksamkeitSolange Leerzeichen hinter
&
bzw.<
stehen, ist das Aufmerksamkeit genug.
Oder andere Zeichen, die den Parser nicht durcheinanderbringen.
<span aria-hidden="true"><</span>
geht auch durch: Beispiel.
🖖 Живіть довго і процвітайте
@@Gunnar Bittersmann
Es gibt andere Methoden, Elemente ins DOM zuhängen:
insertAdjacentHTML
Die auch performanter sein dürften als createElement()
plus setAttribute()
plus appendChild()
o.ä.
🖖 Живіть довго і процвітайте
@@Rolf B
mit setAttribute die Attribute ergänzen
Etliche Attribute lassen sich auch als Objekteigenschaften angeben (anstatt setAttribute()
).
Beim HTMLImageElement u.a. src
, srcset
, sizes
, width
, height
und last but not least alt
.
☞ Beispiel
🖖 Живіть довго і процвітайте