MudGuard: getElementByClassName und mach was mit den ids der Arrayelemente

Beitrag lesen

Hi,

Ergänzend zum bereits gesagten:

function getElementsByClassName(className)
      {
        var arr = new Array();
        var elems = document.getElementsByTagName("div");

Warum schränkst Du hier auf divs ein? Die Funktion sollte dann getDivsByClassName heißen - oder aber nicht auf divs eingeschränkt werden.

for(var i = 0; i < elems.length; i++)
        {

var elem = elems[i];
          var id = elem.getAttribute("id");
          var cls = elem.getAttribute("class");
          if(cls == className)

Das class-Attribut kann eine whitespace-separierte Liste von Klassennamen enthalten.

{
            arr[arr.length] = id;

Warum legst Du im array die id ab, anstatt direkt die Elemente dort zu speichern?

}
        }
        // ab hier ist es wieder von mir, ich will jetzt
        // die Array-Elemente mit style wieder unsichtbar stellen:

Das folgende hat in getElementsByClassName nichts verloren - die Funktion sollte das Array der Elemente zurückliefern (oder einen anderen Namen tragen).

for (var j = 0; j < arr.length;j++){
            document.getElementById(arr[j]).style.display = "none"
        }

}

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.