Hallo Christian,
Ja, das ist auch ein wenig knifflig. Es gibt zwar bei Elementknoten die Eigenschaft innerHTML, aber das bezieht sich nur auf den Code zwischen
<aktuellesElement att1="val1" att2="val2">
und
</aktuellesElement>.
Beim IE gab es mal (oder gibt es noch) outerHTML, was genau das ist was du willst, aber du kannst es trotzdem auch im FF nachbauen:
Der Ansatz ist der: Man kopiert das Element samt Inhalt. Man erzeugt ein weiteres neues Element und fügt das kopierte als einziges Kind hinzu. Damit ist das innerHTML des neuen Elements gleich dem outerHTML des inneren (kopierten).
In deinCode findest du dann den HTML-Code von deinElement inkl. Start- und Endtag sowie Attributen.
Gruß,
Anja
Zitat von squirrelcgn
Beitrag anzeigen
<aktuellesElement att1="val1" att2="val2">
und
</aktuellesElement>.
Beim IE gab es mal (oder gibt es noch) outerHTML, was genau das ist was du willst, aber du kannst es trotzdem auch im FF nachbauen:
Der Ansatz ist der: Man kopiert das Element samt Inhalt. Man erzeugt ein weiteres neues Element und fügt das kopierte als einziges Kind hinzu. Damit ist das innerHTML des neuen Elements gleich dem outerHTML des inneren (kopierten).
Code:
var deinElement = ...; // das ist das von dem du den Code haben willst var kopie = deinElement.cloneNode(true); // true steht für deep copy document.body.appendChild(document.createElement("div")); document.body.lastChild.appendChild(kopie); var deinCode = document.body.lastChild.innerHTML; document.body.removeChild(document.body.lastChild);
Gruß,
Anja
Kommentar