Navigation funktioniert nicht im IE

Arndtinho

Erfahrenes Mitglied
Hallo,

ich habe folgendes Testmenü erstellt:
Code:
<html>
<head>
   <title>navigation</title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

   <style type="text/css">
   <!--

      a:hover {
           color: #FFCC00;
	   text-decoration: none;
      }

      .active {
	   color: #FFCC00;
	   text-decoration: underline;
      }

      .inactive {
	   color: #000000;
	   text-decoration: none;
      }
   -->
   </style>

   <script language="Javascript">
   <!--

     function setActive ( link ){
	
        // Alle Links in der Farbe zurücksetzen:
        /////////////////////////////////////////
	links = document.getElementsByTagName( "a" );
	
        for( var i = 0; i<links.length; i++ )
           links[i].className="inactive";

	  link.className="active";
     }

  //-->
  </script>

</head>

<body>
<table width="146" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
	<a href="#" id="1" onClick="setActive(this)" class="active">link-seite-1</a><br>
	<a href="#" id="2" onClick="setActive(this)" class="inactive">link-seite2 </a><br>
    	<a href="#" id="3" onClick="setActive(this)" class="inactive">link-serte3 </a> 
    </td>
  </tr>
</table>
</body>
</html>
Der jeweils geklickte Link wird in einer anderen Farbe dargestellt und alle anderen auf die Ausgangsfarbe zurück gesetzt. Dies funktioniert aber nur im Firefox. Wieso nicht im IE?

Gruß
Arndtinho
 
Hi,

der Name setActive ist im Explorer ab Version 5.5 vergeben und ist verantwortlich, dass ein Dokument aktiviert wird,
ohne ihm den Fokus zu geben.

Wenn Du den Funktionsnamen änderst, sollte es funktionieren.
Code:
function _setActive ( link ){
  // Alle Links in der Farbe zurücksetzen:
  /////////////////////////////////////////
  links = document.getElementsByTagName( "a" );

  for( var i = 0; i<links.length; i++ )
    links[i].className="inactive";

  link.className="active";
}
Ciao
Quaese
 
Danke, funktioniert jetzt.
Nun möchte ich die ganze Sache noch ein wenig erweitern und zwar:
Mit
Code:
links = document.getElementsByTagName( "a" );
Ich möchte aber nur die Anzahl Links eines bestimmte div-Elements.
Bsp.:
HTML:
<div id="menue">
  <a href="#">Link 1</a>
  <a href="#">Link 2</a>
  <a href="#">Link 3</a>
  <a href="#">Link 4</a>
</div>

<div id="content">
  <a href="#">Link 1</a>
  <a href="#">Link 2</a>
</div>
In diesem Beispiel, sollen die Links des div's "menue" gezählt werden.
Ist sowas machbar und wenn ja, wie?

Gruß
Arndtinho

//edit

Klappt jetzt so wie ich es haben möchte:
Code:
container = document.getElementById('menue');
links     = container.getElementsByTagName( "a" );

Gruß
Arndtinho
 

Neue Beiträge

Zurück