Thomas Meinike: .style.zIndex geht im IE6 nicht?

Beitrag lesen

Hallo,

kann es sein, dass eine Ebenen-Veränderung per Javascript im IE6 per:
document.getElementById(element).style.zIndex = sonstnochwas;
oder per
document.getElementById(element).style.setAttribute("zIndex",sonstnochwas,"false");
nicht funktioniert?

Ich sehe im IE 6 mit beiden Varianten keinerlei Problem:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test by TM 06/03</title>
<style type="text/css">
<!--

div.x
{
color: #FFFFFF;
background-color: #FF0000;
position: absolute;
left: 100px;
top: 100px;
height: 150px;
width: 300px;
z-index: 1;
}

div.y
{
color: #FFFF00;
background-color: #0000FF;
position: absolute;
left: 150px;
top: 150px;
height: 150px;
width: 300px;
z-index: 2;
}

-->
</style>
<script language="JavaScript" type="text/javascript">
<!--

function Test1()
{
  document.getElementById("d1").style.zIndex=2;
  document.getElementById("d2").style.zIndex=1;
}

function Test2()
{
  document.getElementById("d1").style.setAttribute("zIndex",1);
  document.getElementById("d2").style.setAttribute("zIndex",2);
}

//-->
</script>
</head>
<body>
<p>
This is the normal BODY text ...
</p>
<br>
<div id="d1" class="x" onclick="Test1()">This is a test text ...</div>
<br>
<div id="d2" class="y" onclick="Test2()">This is a test text ...</div>
</body>
</html>

Und gibt es eine Möglichkeit das anders zu machen?

Man koennte das so loesen, wie ich das mit SVG praktiziere (wo es keinen z-index gibt, aber das painters model): Das in den Vordergrund zu bringende Element entfernen und in der Zeichenreihenfolge weiter hinten (am Ende) wieder einfuegen [removeChild() / appendChild()]:
http://www.datenverdrahten.de/svglbc/?code=objekte_top.

Das funktioniert auch prinzipiell in einem HTML-Dokument, nur hat ja die Kopie des Originalobjektes im HTML-Kontext weiterhin den alten z-index und optisch bleibt alles wie zuvor.

MfG, Thomas