Thomas Meinike: Bild im DOM-Baum durch dessen alt-Wert ersetzen

Beitrag lesen

Hallo,

ich würde mal sagen, ja: du holst dir mit getElementsByTagName() die img-Elemente, dann holst du dir mit getAttribute() den Wert des alt-Attributes. Dann kannst du mit replaceChild() den "img-Knoten" durch einen Textknoten ersetzen. Ob das allerdings wirklich funktioniert, musst du schon selber ausprobieren :-)

Genau so funktioniert das, wobei man beachten muss, dass die Anzahl der img-Elemente selbst durch die Prozedur stetig gegen 0 veraendert wird und man den alt-Attributwert zunaechst in einen Textknoten ueberfuehren muss und diesen dann gegen den jeweiligen img-Elementknoten ersetzen kann, z. B. in dieser Art (Aktion startet nach 3 Sekunden):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test by TM 01/05</title>
<script language="JavaScript" type="text/javascript">
<!--

function Test()
{
  var imgs=document.getElementsByTagName("img");
  var body=document.getElementsByTagName("body").item(0);
  var anz=imgs.length;
  for(i=anz-1;i>=0;i--)body.replaceChild(document.createTextNode(imgs.item(i).getAttribute("alt")),imgs.item(i));
}

//-->
</script>
</head>
<body onload="setTimeout('Test()',3000)">
<img src="bla1.gif" alt="bla1">
<img src="bla2.gif" alt="bla2">
<img src="bla3.gif" alt="bla3">
</body>
</html>

Zur Demonstration des Prinzips wurde auf den Test der Methoden-Verfuegbarkeit verzichtet.

MfG, Thomas