DIV-Elemente bei Seitenaufruf ausblenden/verstecken
Chris
- javascript
Nabend!
Ich würde gern mit dem Aufruf der Seite einigen DIV-Elementen die eigenschaft display:none zuweisen. Die DIV-Elemente sind jeweils mit IDs versehen, sind also ansprechbar.
Wenn ich zB folgendes in den <head> schreibe:
<script type="text/javascript">
document.all.div1.style.display='none';
document.all.div2.style.display='none';
document.all.div3.style.display='none';
</script>
Dann klappt das natürlich nicht. Aber warum? Ich gehe ja davon aus, dass es daran liegt, dass die DIVs zum Zeitpunkt der JavaScript-Ausführung noch nicht existieren (die werden ja erst später im Quelltext abgearbeitet).
Wie macht man sowas?
Grüße
Chris
Wie macht man sowas?
In dem man das JS im Quelltext dahinter aufruft, ausserdem würde ich an deiner Stelle nicht document.all verwenden, brauchen tut das nur der IE 4, alle anderen Browser verstehen document.getElementById().
Struppi.
In dem man das JS im Quelltext dahinter aufruft, ausserdem würde ich an deiner Stelle nicht document.all verwenden, brauchen tut das nur der IE 4, alle anderen Browser verstehen document.getElementById().
Also ich hab im <head> jetzt meine .js-Datei eingebunden, in der die Funktion enthalten ist. Die Funktion sieht so aus:
function hidefields(div) {
document.getElementById(div).display = 'none';
}
Nur: Wenn ich im Quelltext ein DIV hab...
<div class="blubb" id="div1">asd</div>
... wie rufe ich dann das JavaScript mit dem Parameter "div1" auf? Da gibt es ja keine onLoad-Funktion oder sowas...?
Grüße
Chris
<div class="blubb" id="div1">asd</div>
... wie rufe ich dann das JavaScript mit dem Parameter "div1" auf? Da gibt es ja keine onLoad-Funktion oder sowas...?
hidefields('div1');
Den onload Event brauchst du im Prinzip nicht. Du kannst JS Coide auch zwischen den body Tags plazieren.
Struppi.
Den onload Event brauchst du im Prinzip nicht. Du kannst JS Coide auch zwischen den body Tags plazieren.
Nabend,
na das ist mal gut zu wissen, das hilft mir sehr! Funktionieren tut es allerdings nicht... ich hab mal ganz plump im Body zunächst die Funktion definiert, dann das DIV-Element eingefügt und dadrunter die Funktion schließlich aufgerufen, die das DIV eigentlich verschwinden lassen soll. Es passiert - nichts. Es wird aber auch kein Fehler gemeldet.
Das ist der gesamte Body meiner Testseite:
<script type="text/javascript" language="javascript">
function hidefields(div) {
document.getElementById(div).display = 'none';
}
</script>
<div style="width:500px; background-color:#000000; color:#FFFFFF;" id="div1">Hallo.</div>
<script type="text/javascript" language="javascript">
hidefields('div1');
</script>
Grüße
Chris
Hallo Chris,
document.getElementById(div).display = 'none';
^
.style.display
Grüße,
Thomas
Hallo Chris,
document.getElementById(div).display = 'none';
Ups - vielen Dank!
Grüße
Chris