ein noob: DOM > Elemente ein- und ausblenden

Hi!

Ich habe folgendes Script gefunden.

function schalten()
{
 if(document.getElementById)
 {
  var schalter = document.getElementById('schalter');
  var toggle = schalter.appendChild(document.createElement('a'));
  toggle.href = '#';
  toggle.appendChild(document.createTextNode('Felder einblenden'));
  toggle.onclick = function()
  {
   var linkText = this.firstChild.nodeValue;
   this.firstChild.nodeValue = (linkText == 'Felder einblenden') ? 'Felder ausblenden' : 'Felder einblenden';

var tmp = document.getElementsByTagName('fieldset');
   for (var i=0;i<tmp.length;i++)
   {
    if(tmp[i].className == 'anfrage')
    {
     tmp[i].style.display = (tmp[i].style.display == 'block') ? 'none' : 'block';
    }
   }
   return false;
  }
 }
}

Damit lassen sich Formularfelder aus- und einblenden.
Ich würde sie gerne ein- und ausblenden können, also die Felder sollen erst ausgeblendet sein.
Ich dachte, das ginge einfach, mal eben die Display-Eigenschaften zu tauschen, aber das klappt gar nicht. Entweder klappt gar nichts, oder beim ersten Klicken passiert nix und dann immer abwechselnd.

Ich verstehe es einfach nicht.

ein noob

  1. Deine Funktion wird ja -nehme ich mal an- erst auf klick aufgerufen.
    HTML zeigt solche Sachen aber standartmäßig (also auch beim Aufruf der Seite) an, also musst du die Elemente im <body onLoad> Tag z.B. erst einmal verstecken.