Moin!
aber ich habe eine Seite mit mehreren Tags, von denen manche die selbe mir bekannte id "hallo" haben.
Das darf nicht sein. Pro Dokument darf eine ID nur ein einziges Mal vorkommen! Kommt sie mehrfach vor, kriegst du Probleme.
HTML selbst stört sich rein praktisch-technisch zwar nicht dran, obwohl der Validator meckert, aber der Javascript-Zugriff macht Probleme.
Nun möchte ich ja an dieser Stelle wo die id "hallo" ist den Text ändern bzw. ein Bild anzeigen lassen.
Da die ID nur ein einziges Mal im Dokument auftreten kann, reicht es ja, zu wissen, welche ID du verändern möchtest, getElementById() zu verwenden, und die ID dann einfach nicht weiter "auszulesen".
Übrigend: Es heißt mit Absicht "getElementById" mit Singular "Element" - eben weil da nur ein einziges HTML-Element gefunden wird, weil die ID nur ein einziges Mal im Dokument vorkommen darf.
Andere Zugriffsmethoden heißen "getElementsByTagName()" und "getElementsByName()" - Plural "Elements", weil name-Attribut oder auch Tags eben mehrfach identisch im Dokument vorkommen dürfen - wäre ja auch schlimm, wenn nur ein einziges <p> erlaubt wäre. :)
Und so wie ich das verstanden hab kann man durch getElementByID("hallo") den danach folgenden Text verändern also muss ich doch auf hallo überprüfen oder nicht.
Was heißt hier "danach folgender Text"? getElementById() gibt das eine HTML-Element mit der fraglichen ID zurück. Dieses Element kann man dann manipulieren. Wenn der zu ändernde Text komplett IN diesem Element drinsteht, dann geht das recht einfach, steht er außerhalb dieses Elements "dahinter" im Quelltext, wird es komplizierter, aber keinesfalls unmöglich.
Also nochmal langsam, ich will,
- id="hallo"?
JA: ein Bild einfügen Nein: soll nichts passieren
getElementById() wird dir entweder eine Referenz auf das eine Element dieser ID zurückgeben, oder "undefined", wenn die ID nicht existiert.
Basierend darauf kannst du dann das Bild einfügen und den Rest erledigen.
- Sven Rautenberg
My sssignature, my preciousssss!