Variable irgendwo im HTML-Code ausgeben?

Status
Nicht offen für weitere Antworten.

Dommas

Erfahrenes Mitglied
Hallo Leute

Ich hab ein bestimmt ganz simples Problem, kenne mich aber mit JavaScript einfach zu wenig aus.
Ich habe also ein simples Script, welches am Ende einen String in einer Variable speichert. Dieser String besteht aus einem Pfad und einem Bildnamen. Udn den möchte ich jetzt in meinem HTML ausgeben, und zwar hier:

HTML:
<td background="GENAU HIER">

Die Frage ist: Wie mach ich das? Folgendes habe ich probiert:
HTML:
<script language="JavaScript">
    ("<td background="+picturepath+">");
</script>

Das klappt aber nicht. Weiss jemand Rat?

MfG Thomas
 
Weise dem Element eine ID zu und probier Folgendes:
Code:
document.getElementById("foobar").style.backgroundImage = '…';
 
Die Methode deiner Wahl heisst document.write() und das koenntest du auch in jeder Javascript-Refernez nachschlagen. Wir sind hier kein Javascript-Krus, sondern ein Forum!

HTML:
<script type="text/javascript">
    document.write("<td background="+ picturepath +">");
</script>
Wird aber nur beim Laden der Seite korrekt ausgefuert. Startest du die Metthode danach, erzeugt sie ein neues Dokument im Anzeigefenster und zeigt drinen nichts anderes als den Text an.

Willst du dagegen nach dem Laden den Code veraendern, sollte du dich mit dem sog. DOM auseinandersetzen. Das resultiert dann in einem Befehl, wie ihn mein Vorredner gepostet hat.
 
Zuletzt bearbeitet:
Hallo Zusammen

Danke erst mal für eure schnellen Antworten!

Sorry, das mit document-write habe ich natürlich schon ausprobiert, ich habs in meinem ersten Post im HTML-/HTML nur vergessen hinzu schreiben.

Jetzt habe ich meinem <td> mal eine ID gegeben und es wieder probiert. Zwar so:

HTML:
<script language="JavaScript">
<!--
today  = new Date();
month    = today.getMonth();
pfad   = "";
prefix = "frei_";
arday  = new Array(
prefix+"7.gif",
prefix+"1.gif",
prefix+"2.gif",
prefix+"3.gif",
prefix+"4.gif",
prefix+"5.gif",
prefix+"6.gif");

document.getElementById("picarea").style.backgroundImage = "<img src='" + arday[month] + "'>";

//  -->
</script>

Im der Tabelle steht dann das:

HTML:
<td id="picarea" background="">

Trotzdem geht's nicht. Warum denn nur?
 
Lies bitte den DOM-Link aus meinem letzten Beitrag aufmerksam durch und achte auf den Syntax der Beispiele, bevor du wieder so Fragen stellst - es stand alles in dem verlinkten Dokument drin.

Javascript:
document.getElementById('picarea').setAttribute('background',arday[month]);

Wie ich schon sagte document.write() wird nur einmal beim Aufrufen des Seite richtig ausgefuert...
 
Zuletzt bearbeitet:
Ok ich hab das jetzt mal durchgelesen und ich habe sogar noch einen anderen Lösungsansatz gefunden, der jedoch nicht funktioniert hat.

Danke jedenfalls für den direkten Tipp con-f-use, aber auch genau so, wie du es jetzt geschrieben hast, funktioniert es nicht. Ich erhalte im IE jeweils eine JavaScript-Fehlermeldung, dort heisst es: document.getElementById(...) ist null oder kein Objekt. Nun so etwas kann ich mir definitiv nicht erklären.

Was ich noch gemacht habe, ist das arday[month] ersetzt mit 'frei_02.gif', klappt auch nicht...
 
Es funktioniert jetzt.

Ich habe einfach den Code in eine Funktion gepackt und rufe sie mit Body OnLoad auf. So gibt es keine Fehler mehr.

Danke für eure Hilfe.

MfG Thomas
 
Status
Nicht offen für weitere Antworten.
Zurück