Thomas Meinike: createAttribute-Problem

Beitrag lesen

Hallo Christoph,

// code für style setzen
var attrNode1 = document.createAttribute("style");
attrNode1.nodeValue = "width: 160px";
tdNode1.setAttributeNode(attrNode1);

Das scheint der IE nicht zu moegen, auch diese Schreibweise nicht (wohl aber Mozilla):
tdNode1.setAttribute("style","width: 160px");

Alternative fuer IE und Mozilla:
tdNode1.style.width="160px";

Hier mal ein Beispiel mit einem leeren Absatz, dem ein SPAN mit Text xyz hinzugefuegt wird, wobei dessen style.color und style.fontWeight gesetzt werden:

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

function Test()
{
var doc=document.getElementsByTagName("p")[0];
var neuelem = document.createElement("span");
var neutxt = document.createTextNode("xyz");

//Funktioniert so in Mozilla, aber nicht im IE6
//neuelem.setAttribute("style","color: #FF0000; font-weight: bold");

//Funktioniert in Mozilla und IE6
neuelem.style.color="#FF0000";
neuelem.style.fontWeight="bold";

doc.appendChild(neuelem);
doc.firstChild.appendChild(neutxt);
}

//-->
</script>
</head>
<body onclick="Test()">

<p>Absatz</p>

</body>
</html>

Vielleicht kannst Du das als Workaround gebrauchen.

MfG, Thomas