Invisiblyy85: Internet Explorer führt open/close Script falsch aus

Beitrag lesen

Hallo,

vielen Dank für eure ersten Antworten. Ich habe die Tips umgesetzt, doch leider funktioniert es jetzt in keinem Browser mehr. Es liegt also ein grundsätzlicher Fehler in meinem Code vor.

Aufschluss darüber gibt das in der JS-Funktion eingebaute "alert(field);". Sobald man auf Punkt "Test 1" klickt, meldet das alert "cat1", was korrekt ist. Klickt man dann auf "Test 1.1" meldet das alert erst "cat11" <- korrekt, dann aber nochmal "cat1" <- nicht korrekt, was zur Schließung der oberen Ebene führt.

Grüße

Basti

  
<script type="text/javascript">  
function openclose(field)  
{  
  
alert(field);  
  
	if(document.getElementById(field))  
	{  
		if(document.getElementById(field).style.display == "block") { document.getElementById(field).style.display = "none"; }  
		else { document.getElementById(field).style.display = "block"; }  
	}  
  
}  
</script>  

  
<ul id='cat0' style='display:block; cursor:pointer;'>  
<li onClick=openclose('cat1');>Test 1  
	  
	<ul id='cat1' style='display:none; cursor:pointer;'>  
	<li onClick=openclose('cat11');>Test 1.1  
		  
		<ul id='cat11' style='display:none; cursor:pointer;'>  
		<li onClick=openclose('cat111');>Test 1.1.1  
		  
			<ul id='cat111' style='display:none; cursor:pointer;'>  
			<li onClick=openclose('cat1111');>Test 1.1.1.1</li>  
			<li onClick=openclose('cat1112');>Test 1.1.1.2</li>  
			</ul>  
		  
		</li>  
		<li onClick=openclose('cat112');>Test 1.1.2</li>  
		</ul>  
		  
	</li>  
	</ul>  
</li>  
<li onClick=openclose('cat2');>Test 2</li>	  
<li onClick=openclose('cat3');>Test 3</li>  
<li onClick=openclose('cat4');>Test 4  
  
	<ul id='cat4' style='display:none; cursor:pointer;'>  
	<li onClick=openclose('cat41');>Test 4.1  
  
		<ul id='cat41' style='display:none; cursor:pointer;'>  
		<li onClick=openclose('cat411');>Test 4.1.1</li>  
		</ul>  
	  
	</li>  
	  
	<li onClick=openclose('cat42');>Test 4.2</li>  
  
</li>  
</ul>