Layer und JavaScript

Tiburon

Mitglied
Folgender Code wird eingesetzt um alle Layer auf hidden zu setzen

Code:
     	function HideAllLayers() { //setzt alle Layer auf hidden
    	for(nr=0;nr< document.getElementsByTagName('div').length;++nr) {
    		document.getElementsByTagName('div')[nr].style.visibility='hidden';
     	}
    }

Leider werden dabei auch Bilder, welche mittels div-tag formatiert (CSS-Klassen wie bswp. <div align = "center">) sind ebenfalls auf hidden gesetzt, was jedoch unerwünscht ist.

Frage: wie kann ich erreichen, dass nur die Layer div-tags und nicht auch die image div-tags erwischt werden? Ein Ansatz könnte sein, dass nur die Layer eine Id besitzen.
 
Dann prüfe halt die ID.
Wenn ein Element keine ID besitzt, gibt Javascript unanständigerweise eine leere Zeichenkette zurück... erfrage also, ob dies der Fall ist.
 
... oder du vergibst eine CSS-Klasse, die entweder den Sichtbarkeitswechsel erlaubt oder aber ausschließt.
 
Sven Mintel hat gesagt.:
Dann prüfe halt die ID.
Wenn ein Element keine ID besitzt, gibt Javascript unanständigerweise eine leere Zeichenkette zurück... erfrage also, ob dies der Fall ist.

Das habe ich auch schon versucht, kriege es aber irgendwie nicht gebacken. Wie kann ich auf die ID zugreifen? Sorry, aber ich kenne mich mit den JavaScript Methoden (noch) wenig aus. Ich habe schon den O'Really gewälzt, aber auch keine brauchbaren Informationen rausziehen können.
 
z.B. so:
Code:
<script type="text/javascript">
<!--
    function HideAllLayers() { //setzt alle Layer auf hidden
    	for(nr=0;nr< document.getElementsByTagName('div').length;++nr) {
    	    objLayer=document.getElementsByTagName('div')[nr];
    	    if(objLayer.id!='') {
    	            objLayer.style.visibility='hidden';
     	    }
     	}
    } 
//-->
</script>

In Javascript kannst du Eigenschaften von Objekten per
Code:
Objekt.Eigenschaft
ansprechen.
 
Vielen Dank, er klappt wunderbar!

Das ist ja wie in ActionScript, aber man muss eben auch die Objekteigenschaften kennen.
Jetzt wo ich weiss wie die Property heisst, finde ich sie auch in der Referenz :-)

Tja, dann kann ich mich nur nochmals bedanken und Dir zu Deinem 4000sten Posting gratulieren.
 

Neue Beiträge

Zurück