Sven Rautenberg: mehrere DIVs gleichzeitig ansprechen

Beitrag lesen

Moin!

Doch klar, gib ihnen alle die gleiche id und bau dann

Wahh!!!!1 Eine ID darf in einem Dokument nur ein einziges Mal vorkommen!

in JavaScript eine Schleife, die in etwa so aussieht:
(also erstmal die divs)
<div style="top:100px;" id="dif"></div>
<div style="top:100px;" id="dif"></div>
<script type="text/javascript">
for(i=0;i<dif.length;i++)
{
document.dif[i].style.top="101px";
document.dif[i].innerHTML="text";
}
</script>

Also so funktioniert es jedenfalls im IE. Beim NS und
für Mozilla muß man erst alle divs in einen Array
schaufeln, mittes der Funktion getElementsById().

Die Funktion heißt getElementById() - kein ElementS. Warum wohl? Weil eine ID nur ein einziges Mal im Dokument vorkommen darf und deshalb logischerweise die Funktion nur ein einziges Element zurückliefern muß.

Irgendwo weiter unten im Forum in SelfHTML oder im
Archiv gibts mehr dazu.

Es gibt die Möglichkeit, über getElementsByName() (für Elemente, die das Name-Attribut erlauben - leider sind das nur wenige, z.B. Links und Formularelemente) oder getElementsByTagName() (damit kann man z.B. alle DIV-Elemente direkt ansprechen) auf Elemente zuzugreifen.

Oder man verwendet Klassen in CSS - das ist wahrscheinlich das einfachste.

PS: Mir fällt auf, dass in letzter Zeit von dir immer Schnellschüsse als sogenannte "Lösungen" verkauft werden. Nimm dir doch bitte entweder die Zeit, das auch in verschiedenen Browsern auszuprobieren, was du als Lösung vorschlägst, oder halte dich beim Antworten etwas zurück. Ein einleitender Satz wie "Ich habe selber nicht soviel Ahnung, aber geht nicht sowas wie ..." wäre das Mindeste, was man erwarten kann, damit der Fragende zumindest weiß, dass das, was du vorschlägst, nicht funktionieren muß. Ich habe persönlich wenig Lust, hinter dir herzuhechten und Fehler geradezubiegen, werde es aber tun, sobald es notwendig ist. Aber eben nicht kommentarlos.

- Sven Rautenberg

--
Diese Signatur gilt nur am Freitag.