molily: document.write ersetzten

Beitrag lesen

ich möchte "document.write()" ersetzten.

Wieso?

Weil es in xhtml nicht erlaubt ist (oder denke ich da völlig falsch?)

Es ist nicht verboten, aber das Parsing von XML lässt es nicht ohne weiteres zu, dass per JavaScript Elemente währenddessen eingefügt werden. Daher haben die Browser davon abgesehen, es zu implementieren.

Im Übrigen gilt diese Einschränkung nur, wenn das XHTML auch als application/xml oder application/xhtml+xml ausgeliefert wird. Das ist in der Regel nicht der Fall und in der Regel auch nicht empfehlenswert, da nur wenige Browser, User Agents usw. diesen Verarbeitungsmodus korrekt unterstützen.

Meistens wird XHTML als gewöhnliches text/html ausgeliefert (»HTML-kompatibles XHTML«) und da funktioniert document.write ohne Probleme.

Verstanden habe ich hiervon, dass ich die Rohdaten in html unterbringen soll. Dann läuft ein javascirpt über den ganzen Baum und über den Ort an dem das Script Daten findet weiss es dann wo der Baum manipuliert werden soll. Das klingt gut! Und "mit den ganzen Objektbaum rekusriv durchsuchen" habe ich Erfahrung - das kriege ich hin.

Einfacher geht es, wenn du document.getElementsByClassName, document.querySelectorAll oder fertige Selektor-Engines wie Sizzle oder Slick verwendest, um Elemente herauszusuchen.

Vestanden habe ich allerdings nicht, mit welchen Tags/Attributen ich die Daten in html einbinden sollte (<div data="emailadresse"> wird doch vermutlich einen Syntaxfehler hervorufen.

data-Attribute beginnen mit »data-« und haben dann einen beliebigen Namen. So kannst du die unterschiedlichen Daten geordnet speichern:

<p class="emailadresse" data-user="user" data-domain="example.org">

Das Auslesen ist bspw. mit getAttribute('data-user') möglich.

Mathias