Thomas Meinike: innerHTML und DOM

Beitrag lesen

Hallo,

ich möchte innerhalb einer Seite einen Knoten einschließlich seiner Child-Knoten (Text, Kursiver Text, fetter Text, Zeilenumbruch) an eine andere Stelle kopieren. Hierzu benutze ich "document.getElementsByTagName("span")[i].innerHTML". Leider wird die Eigenschaft "innerHTML" nur vom IE unterstützt. Nun meine Frage: Gibt es im DOM eine Möglichkeit, auf ganze Knoten einschließlich aller Child-Knoten zuzugreifen?

Das Klonen von Knoten funktioniert in IE und Mozilla (wobei auch Mozilla innerHTML kennt):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test by TM 03/02</title>
<meta name="Author" content="Dr. Thomas Meinike - thomas@handmadecode.de">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript">
<!--

function Klonen()
{
  var neu, clone;
  clone=document.getElementsByTagName("span")[0];            // zu klonendes span-Element
  neu=document.createElement("span");                        // neues span-Element erstellen
  document.getElementsByTagName("body")[0].appendChild(neu); // neues span-Element nach body einhaengen
  clone=clone.childNodes[0].cloneNode(clone);                // Inhalt unter zu klonendem span-Element lesen
  neu.appendChild(clone);                                    // diesen Inhalt unterhalb des neuen span-Elements einfuegen
}

//-->
</script>
</head>
<body>
<form action="">
<input type="button" value="Test" onclick="Klonen()">
</form>
<span><strong>Text<br></strong></span>
</body>
</html>

MfG, Thomas