Text eines <span>Bereichs ändern
Markus H.
- javascript
Hallo,
ich habe folgendes Problem:
Ich habe eine relativ dynamische Seite bei der eine Linkliste generiert wird. Die Links sind in verschiedene Kategorieen unterteilt.
Sobald man auf eine solche Kategorie klickt soll sich der <tr> Bereich erweitern und die dazugehörigen Links in tabelarischer Form angezeigt werden.
Klappt soweit auch alles ganz gut. Das Problem ist nur das die Links in einem JS-Array gespeichert sind und mit dem Klick auf die Kategorie ausgelesen und ausgeben werden.
Das Ausgaben erfolgt durch hinzufügen von
document.getElementById(Kategorie).firstChild.nodeValue = LINK;
Nun sollen die Links aber nicht nur trocken da stehn sondern auch formatiert werden. Sprich geordnet in einer Tabelle und mit Images etc.. versehen - wenn man das nun aber mit firstChild.......übergibt wird der HTML-Code nicht interpretiert.
Wie bekomm ich das hin, das entweder der Code interpretiert wird oder gibt es eine andere Lösung?
Ich danke euch!
Grüße Markus
hi,
Nun sollen die Links aber nicht nur trocken da stehn sondern auch formatiert werden. Sprich geordnet in einer Tabelle und mit Images etc.. versehen - wenn man das nun aber mit firstChild.......übergibt wird der HTML-Code nicht interpretiert.
Wie bekomm ich das hin, das entweder der Code interpretiert wird oder gibt es eine andere Lösung?
Entweder nutzt du die Eigenschaft innerHTML, der du HTML-Code zuweisen oder hinzufügen kannst;
Oder du machst es über DOM-Methoden wie createElement und appendChild, mit denen du neue HTML-Elemente erzeugst und ins Dokument einhängst.
gruß,
wahsaga
Entweder nutzt du die Eigenschaft innerHTML, der du HTML-Code zuweisen oder hinzufügen kannst;
Darauf bin ich auch schon gekommen, aber das Problem ist das die Kategoriennamen eben Variabel sind und so wie ich das sehe kann ich keine Variablen bei innerHTML benutzen oder?
Also quasi:
document.all.VARIABLE.innerHTML = Neu;
Wenn das irgendwie funktionieren würde, dann gingt es - aber geht das irgendwie?
Danke Markus
hi,
Darauf bin ich auch schon gekommen, aber das Problem ist das die Kategoriennamen eben Variabel sind und so wie ich das sehe kann ich keine Variablen bei innerHTML benutzen oder?
Natürlich kannst du.
Also quasi:
document.all.VARIABLE.innerHTML = Neu;
Nutze bitte nicht document.all, das ist eine Microsoft-Erfindung [1].
Besorge dir eine Referenz auf dein Element - egal wie, bspw.(!) mittels document.getElementById - und spreche dann seine innerHTML-Eigenschaft an.
gruß,
wahsaga
[1] Ja, innerHTML auch. Es ist aber inzwischen ein Quasi-Standard, den so gut wie alle aktuellen Browser unterstützen.
Hello out there!
wie ich das sehe kann ich keine Variablen bei innerHTML benutzen oder?
innerHTML lässt sich nicht auch auf Objekte anwenden, die du per ID erzeugst:
document.getElementById("foo").innerHTML = bar;
Dass eine Navigation auch ohne JavaScript funktionieren muss, hast du bedacht und stellst für Clients ohne JavaScript einen alternativen Zugang zu den Inhalten deiner Site zur Verfügung?
See ya up the road,
Gunnar
Hello out there!
innerHTML lässt sich nicht auch auf Objekte anwenden
Streiche das „nicht“. (Wollte erst „nicht nur auf ... anwenden“ schreiben; das „nur“ zu löschen hab ich noch geschafft ...)
See ya up the road,
Gunnar