Hi,
deine Lösung ist falsch, da html, head und body in einem div nichts zu suchen haben.
Magst du das etwas genauer ausführen? Die HTML-Tags sind doch gar nicht "in" dem div!?
anfangs nicht, aber dann schreibst du sie hinein. Und dann ist es fehlerhaftes HTML.
document.getElementById("ziel-div").addEventListener("click", showtext);
function showtext() {
var request = new XMLHttpRequest();
request.open("get", "test.html");
request.send();
request.addEventListener("load", function( e ) {
var text = e.target.responseText;
document.getElementById("ziel-div").innerHTML = text;
});}
>
> läd doch nur die externe HTML-Datei mit dem Text INS Script (und erstmal NUR dahin) und holt sich dann AUS der HTML-Datei den Text, also alles, was mit <p> ... </p> als Text definiert ist, und zeigt diesen (und NUR diesen!) dann via innerHTML in der Box an.
Wo ist der Teil im Script, der den Text zwischen <p> und </p> herauspopelt?
> Ich lade ja nicht wie bei iframe die ganze HTML-Datei in die div-Box, sondern hole mir nur den mittels <p></p> ausgezeichneten Text(!) aus der externen Datei
Wo? Mit welcher Anweisung?
> Vielleicht reicht mein Verständnis des Vorgangs nicht aus, um das adäquat beurteilen zu können, aber ich sehe nicht, wie die HTML-Tags aus der externen Datei in die div-Box gelangen sollen?
Du holst dir über e.target.responseText den vom Server geladenen Text (der die HTML-Tags einschließt), und schreibst ihn komplett ins Dokument. Lass dir mal den Inhalt von e.target.responseText anzeigen (z.B. mit alert()), und du wirst sehen, dass es der komplette Dateiinhalt ist. Was auch sonst? Da ist nirgends irgendeine geheimnisvolle Logik, die irgendwas interpretiert, auswertet oder auftrennt.
Ciao,
Martin
--
F: Was sagt der große Keks zum kleinen Keks?
A: Du kannst dich jetzt verkrümeln.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(