Deus Figendi: string vs. richtext

Beitrag lesen

Vielen Dank für deine erleuchtende Antwort.

Tatsächlich habe ich mich das auch schon gefragt

Das freut mich, dass ich nicht der einzige bin den das irritiert :)

Eigentlich ist es so:
Die Formatierungsmethoden erzeugen widerrum einen String - der aus dem ursprünglichen String besteht plus den umgebenden HTML-Tags.

"Hallo".sup() entspricht "<sup>Hallo</sup>"

Dies ist nun in sich wieder halbwegs logisch. Ein String wird formatiert, in dem ein neuer String ezeugt wird, der zusätzlich Formatierungsangaben enthält.

Damit ist im Grunde alles klar und mein Weltbild auch wieder gerade. Es ist also gar kein formatierter String sondern nur ein string einschließlich Tags. Ob und welche Bedeutung diese Tags haben kommt dann ja wiederum auf das interprettierenden Gerät/Programm an.

Noch ein kleines Beispiel:

<?xml
<!-- xml-Deklaration, namensraum, PiPaPo... -->
<rootelement> <!-- Sagen wir es wäre ein Integer-Element. -->
JavaScript-String-Objekt mit Formatierung, welches aber ein Integer darstellt. Sagen wir "5".italics(); oder so.
</rootelement>
?>

Was ist das?

Schön, nehmen wir an, Du hast das Ding als XML-Dokument in einer Variable gespeichert (z.b. als Antwort auf einen AJAX-Request o.ä.), nennen wir sie einfach mal xml.

[code lang=javascript]
alert (xml.getElementsByTagName("rootelement")[0].firstChild.data);
// Liefert ""5".italics();"

Okay, da hast du mich falsch verstanden, ich meinte halt dass man das TextNode (daher String-Objekt, nicht einfach nur "string") mit dem Inhalt "5".italics(); in das DOM einhängt.  
Jetzt weiß ich dass dann dort <i>5</i> reingeschrieben würde und das wiederum sollte das Schema oder DTD ablehnen (kommt wiederum auf den Parser an).  

>   
> Dieses Beispiel holt sich den Tag "rootelement", davon den allerersten mit [0] (es könnte ja mehrere geben)  

nö kann's nicht, aber ich würde es ebenso greifen  
  
Naja wie auch immer, du hast mich erleuchtet und wie gesagt kann ich mir jetzt auch was drunter vorstellen. Es ist also nicht //Text// sondern "<i>Text</i>" was das Element dann bedeutet hängt ja bekanntermaßen vom DOCTYPE ab.

-- 
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ\_de:] zu:) fl:( ss:| ls:[ js:(