ALLE Elemente mit getElementById
Mr.GreenHH
- javascript
Hallo,
ich will _alle_ Blöcke mit einer bestimmten ID ausblenden.
das Ausblenden ist nicht das Problem; das mache ich beim Klick auf den Button durch getElementById.style.display.visible=...
Wie kann ich aber _alle_ Blöcke ausblenden, die dieselbe ID haben?
MfG
Mr.Green
Hello,
Wie kann ich aber _alle_ Blöcke ausblenden, die dieselbe ID haben?
Eine ID darf im Dokument nur einmal vorkommen! Für alle anderen Verwendungen bietet sich eine CSS-Klasse an. Falls dir das nicht reicht, musst du wohl oder übel deine IDs mit einer gewissen Konvention vergeben, myid1, myid2 usw.
MfG
Rouven
Okay...
Wie blende ich denn dann eine ganze CSS Klasse aus?
Die ID ist mir eigentlich egal, ich brauchte sie halt für getElementById.
Und ich will eigentlich darauf verzichten, eine Schleife o.ä. zu schreiben, um alle Elemente mit einer bestimmten ID auszublenden.
Wie könnte man so etwas denn dann realisieren?
Lieber Mr.GreenHH,
Und ich will eigentlich darauf verzichten, eine Schleife o.ä. zu schreiben, um alle Elemente mit einer bestimmten ID auszublenden.
Wie könnte man so etwas denn dann realisieren?
mit einer selbstgeschriebenen Funktion, die dann logischerweise getElementsByClassName() heißt.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
@@Felix Riesterer:
Wie könnte man so etwas denn dann realisieren?
mit einer selbstgeschriebenen Funktion, die dann logischerweise getElementsByClassName() heißt.
... und wie in den allermeisten Fällen völlig überflüssig ist.
http://forum.de.selfhtml.org/archiv/2007/4/t149837/#m973570
Live long and prosper,
Gunnar
Lieber Gunnar,
getElementsByClassName() heißt.
... und wie in den allermeisten Fällen völlig überflüssig ist.
für den hier diskutierten Zweck gebe ich Dir zum Teil Recht. Sollte die HTML-Struktur in etwa der im geposteten Archiv-Thread entsprechen, dann mag das mit dem Hin- und Herschalten einer CSS-Klasse eines Vorfahrenelements machbar sein. In dem Moment, wo es kein Vorfahrenelement dieser Klasse gibt, sieht es aber schlecht aus!
Es gibt durchaus andere Anwendungsfälle, in denen eine solche Funktion durchaus benötigt wird, wenn auch nicht unbedingt für den Zweck einer dynamisch geänderten Darstellung! Beispiel: mein Quiz-Script
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hi,
für den hier diskutierten Zweck gebe ich Dir zum Teil Recht. Sollte die HTML-Struktur in etwa der im geposteten Archiv-Thread entsprechen, dann mag das mit dem Hin- und Herschalten einer CSS-Klasse eines Vorfahrenelements machbar sein. In dem Moment, wo es kein Vorfahrenelement dieser Klasse gibt, sieht es aber schlecht aus!
Das wäre einzig und allein dann der Fall, wenn das Element das HTML-Element wäre - alle anderen Elemente haben ja mindestens ein Vorfahren-Element, die sichtbaren Elemente üblicherweise mind. 2 (body und html).
cu,
Andreas
Und ich will eigentlich darauf verzichten, eine Schleife o.ä. zu schreiben, um alle Elemente mit einer bestimmten ID auszublenden.
Gibt es dafür einen Grund?
Struppi.
@@Struppi:
Und ich will eigentlich darauf verzichten, eine Schleife o.ä. zu schreiben, um alle Elemente mit einer bestimmten ID auszublenden.
Gibt es dafür einen Grund?
Überflüsigkeit.
http://forum.de.selfhtml.org/archiv/2007/4/t149837/#m973570
Live long and prosper,
Gunnar
Hallo Gunnar,
Überflüsigkeit.
ja, so wie auch für das zweite 's'.
*scnr*
Martin
@@Mr.GreenHH:
Wie blende ich denn dann eine ganze CSS Klasse aus?
Es gibt Bindestriche. Nutze sie.
Was es eher nicht gibt, sind „CSS-Klassen“.
Die Klassifizierung von HTML-Elementen hat NICHTS mit CSS tun. (Hier in diesem Fall eher mit JavaScript. Hießen sie dann „JavaScript-Klassen“?)
HTML-Elemente werden nach Gemeinsamkeiten klassifiziert (und anhand der jeweiligen Gemeinsamkeit wird der Klassenname gewählt); das kann z.B. "Fehlermeldung" sein oder auch "Datum" oder "Name" (Mikroformate).
Wenn sie ERST einmal vollzogen wurde, dann sind SPÄTER alle Elemente einer Klasse mittels Klassenselektor per CSS formatierbar.
Live long and prosper,
Gunnar
Hallo Mr.GreenHH!
Wie kann ich aber _alle_ Blöcke ausblenden, die dieselbe ID haben?
Eine ID muss eindeutig sein und darf nur einmal im Dokument vorkommen. Wie kannst Du dann von allen Blöcken mit derselben ID reden?
Viele Grüße aus Frankfurt/Main,
Patrick
Hi,
Eine ID muss eindeutig sein und darf nur einmal im Dokument vorkommen. Wie kannst Du dann von allen Blöcken mit derselben ID reden?
Mit einem hinreichenden Maß an Unwissen.
MfG ChrisB
@@Mr.GreenHH:
Wie kann ich aber _alle_ Blöcke ausblenden, die dieselbe ID haben?
„Es kann nur einen geben.“
s.a. [CLASS-ID]
Live long and prosper,
Gunnar