mmofacts.com

CSS doppelte id Attribute

gepostet vor 18 Jahre, 11 Monate von BuschnicK
Hi,

Ich habe mal eine Frage zu dem Verhalten von Browsern bei CSS tags. Das id Attribut soll ja eindeutig sein innerhalb einer Seite. Nun möchte ich aber gerne doppelte Tags an den Client schicken und diese dann erst per Javascript eindeutig machen. Die Motivation dafür ist mein CountDown Script aus dem anderen Thread. Es ist irgendwie nervig per php jedes Tag eindeutig zu machen, deshalb hab ich es derart abgeändert:

 









00:00:01

00:01:06

01:15:07

02:00:08

03:00:09






Wie man sieht kommt die id "Timer" zunächst mehrfach vor (nicht standard konform). Der erste Aufruf meiner JavaScript Funktion ändert das jedoch und nummeriert die ids eindeutig durch. Da die Funktion onLoad aufgerufen wird hoffe ich, dass das ok ist? FireFox und IE schlucken es auf jeden Fall problemlos.

mfG,
Sören
gepostet vor 18 Jahre, 11 Monate von KoMtuR
jo indem du nicht eine ID vergibst sondern ein name zum beispiel. Namen können mehrfach vorkommen und können per document.getElementsByName() eingelesen werden. Diese sind dann in einem Array verfügbar.

getElementsByName
 


00:00:01

00:01:06

01:15:07

02:00:08

03:00:09


gepostet vor 18 Jahre, 11 Monate von BuschnicK
Ja, das habe ich auch schon versucht. IE gibt dafür einen not-supported Error. Das "name" Attribut wird für z.B. "span" tags nicht unterstützt.

mfG,
Sören
gepostet vor 18 Jahre, 11 Monate von KoMtuR
Wenn das nicht geht, typisch IE, der versaut wieder alles, dann mache es über getElementsByTagName() in Kombination mit getAttribute("class"). Denke darüber sollte es dann gehen. Kommt halt nur drauf an, wieviel span-tags du dann im code hast. Ist zwar ein wenig dumm, aber leider gibts jo noch keine Funktion ala getElementsByClassName. Sowas wäre bei manchen Sachen nützlich.

Edit: Ah ich hab ne Idee, vorrausgesetzt der IE macht nicht wieder macken. Setze deine Timer-Spans zwischen div-Tags und vergebe denen die id "Timer" zum beispiel. Dann kannste mit diesem gewonnenen Node per node.getElementsByTagname("span") alle durchlaufen. Wäre natürlich mist, wenn die Timer an völlig verschiedenen Stellen stehen.
gepostet vor 18 Jahre, 11 Monate von poncho
Mit der vorhandenen Funktion könnte man einfach im Script einen Zähler benutzen und an die ID anhängen. So ist jede ID eindeutig.

Eine andere Möglichkeit wäre das Starten eines Countdowns direkt beim Anzeigen. Ich hatte dazu eine extra Start-Funktion, die direkt nach der Ausgabe des Countdowns kommt:
 

start_countdown("bla", 12345)
// Erster Parameter ist die ID und zweiter die Zeit

Auf diese Diskussion antworten