IE: Elemente mit Indexnr. ansprechen
Mane
- dhtml
0 Martin Speiser0 Mane
Für fortgeschrittene DTHML/Javascript-Freaks mit Sicherheit kein Problem: Wie kann ich ein Element mit der automatisch vergebenen Indexnummer ansprechen, so wie ich es beim Navigator mit den Layern mache.
Navigator-Beispiel:
function unsichtbar(indexnummer)
{
document.layers[indexnummer].visibility ="hide";
}
Im IE kenn ich nur die Möglichkeit beispielsweise einen DIV-Bereich mit einer ID="MeinElement" zu versehen und dann direkt mit diesem Namen anzusprechen:
document.all.MeinElement.style.visibility="visible";
Hab ich jedoch 10 ganz ähnliche Elemente wie
"abc" welche ich alle mit beispielsweise dieser Zeile sichtbar machen möchte, müßte ich jedem dieser Elemente einen eigenen Namen geben, und im Script für jedes dieser Elemente eine entsprechende Zeile notieren + Abfragen... Das kann‚s ja wohl nicht sein. Es muß ja da auch irgendeine Objektbezeichnung geben wie div[indexnummer], element[indexnummer] oder irgendsowas?!
Auf Hilfe hoffend,
Mane.
Hi Mane,
Für fortgeschrittene DTHML/Javascript-Freaks mit Sicherheit kein Problem: Wie kann ich ein Element mit der automatisch vergebenen Indexnummer ansprechen, so wie ich es beim Navigator mit den Layern mache.
in der Kürze liegt die Würze:
for ( i = 0; i < document.all.length; i++ )
{
alert( document.all(i).tagName );
}
Gruß,
Martin
in der Kürze liegt die Würze:
for ( i = 0; i < document.all.length; i++ )
{
alert( document.all(i).tagName );
}Gruß,
Martin
Hallo Martin,
Danke für die Mühe, aber ich komm damit nicht weiter. Vielleicht bin ich zu blöd, oder es geht halt einfach nicht (?) oder zumindest nicht so. Also z.B.
document.all(10).style.visibility="visible"
geht nicht. Ich weiß zwar dank deines kleinen Script‚s daß ich beispielsweise das
10. Element sichtbar machen möchte, aber ich kann das nicht in der Form umsetzen wie ich das wollte: Style-Sheet-Angaben dynamisch verändern.
Immer noch auf Hilfe hoffend,
Mane
Hi Mane,
ich hab's mal ausprobiert, bei mir geht es so:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 transitional//EN">
<html>
<head>
<title>Untitled</title>
<SCRIPT TYPE="" LANGUAGE="JScript">
function Switch()
{
document.all(6).style.visibility = "hidden";
}
</SCRIPT>
</head>
<body>
<DIV>
Test
</DIV>
<p OnClick="Switch();">Click here
</body>
</html>
Ich habe den IE5, sollte aber auch mit dem IE4 gehen.
Gruß,
Martin
Hallo,
ich habe da was bei Milch & Zucker gefunden:
var layers=document.all.tags("DIV");
for(i=0;i<layers.length;i++)
layers[i].style.visibility="hidden";
Vielleicht hilft das weiter (Zugriff ueber die Indexnummer)
Viele Gruesse Joachim
Danke Martin, Danke Joachim!
Beide Lösungen funktionieren einwandfrei und sind universal einsetzbar. Super!
Beste Grüße,
Mane.