Thomas Meinike: td in th umwandeln?

Beitrag lesen

Hallo,

Mir fällt dazu nur outerHTML ein, denn nodeName lässt sich ja leider nur lesen, nicht ändern.

DOM 3 bietet renameNode und wird wohl auch von neueren Mozilla-Browsern implementiert:
alert(document.renameNode), aber mit Elementknoten laeuft da offenbar noch nichts (Bugreport).

Alternativ hilft vielleicht dieser Versuch:

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

  
function Test()  
{  
  // vorher  
  alert(document.body.innerHTML);  
  
  var td=document.getElementById("tabzelle");  
  var tdinhalt=td.firstChild.cloneNode(true);  
  var th=document.createElement("th");  
  var at=td.attributes;  
  
  for(i=0;i<at.length;i++)  
  {  
    if(at.item(i) && at.item(i).nodeValue!="" && at.item(i).nodeValue!=null)  
    {  
      th.setAttribute(at.item(i).nodeName,at.item(i).nodeValue);  
    }  
  }  
  
  th.appendChild(tdinhalt);  
  td.parentNode.replaceChild(th,td);  
  
  // nachher  
  alert(document.body.innerHTML);  
}  

  
//-->  
</script>  
  
</head>  
<body onload="Test()">  
<table>  
<tr>  
<td id="tabzelle" bgcolor="yellow"><em>Text</em></td>  
</tr>  
</table>  
</body>  
</html>

MfG, Thomas