document.all -- Ich seh' nicht durch.
Johannes
- javascript
Ja, hallo ihr da draußen.
Ich hab da ein Problem das mich schon seit Tagen wurmt:
Ich habe eine Tabelle, in der die 2. Spalte immer ein Verwies sein soll. Das habe ich mit JavaScript realisiert. Leider erkennt man nun nicht, ob man auf diese Spalte anklicken kann. Deshalb sollte sich die Hintergrundfarbe beim Überqueren mit der Maus grau Färben. So ungefähr hab ich mir das vorgestellt:
<TD id="00-04" onMouseOver="grau(00-04)" style="cursor:hand">
<script language="JavaScript">
<!--
function grau(Nummer)
{document.all.Nummer.style.backgroundColor= "#B9B9B9";}
-->
</script>
Das dieser Script nicht richtig läuft weiß ich selber... Und eine Fallunterscheidung für jede einzelne Nummer zu schreiben währe ein zu großer Aufwand, da diese Tabelle wirklich SEHR lang ist.
Ich bitte euch mir zu helfen, und den richtigen Syntax zu sagen. Denn es ist wirklich dringend.
Es dankt, Johannes
Hallo Johannes!
Warum nimmst du nicht einfach 'this' und lässt 'document.all' weg?
<TD onMouseOver="grau(this)" style="cursor:hand">
<script language="JavaScript">
<!--
function grau(Nummer)
{Nummer.style.backgroundColor= "#B9B9B9";}
-->
</script>
Das müsste klappen.
Bis dann
Alex
Hallo Johannes!
Zur Erklärung:
<TD id="00-04" onMouseOver="grau(00-04)" style="cursor:hand">
<script language="JavaScript">
<!--
function grau(Nummer)
{document.all.Nummer.style.backgroundColor= "#B9B9B9";}
-->
</script>
Die ID sollte möglichst einen Buchstaben beeinhalten und kein '-'.
Bei NUR Zahlen gibts Fehler und bei '-' wird (kommt darauf an) versucht zu rechnen. Mit document.all.Nummer sprichst du ein Element an, welches Nummer heisst und auf deiner Seite warscheinlich nicht gibt.
Deshalb solltest du, wenn du document.all benutzt es so machen: document.all[Nummer].style....
Beim Funktionsaufruf dann grau('idbla') verwenden.
OK?
Bis dann
Alex
Ok. :)
Vielen Dank nochmal für die Antworten.
Mensch bin ich erleichtert...
Danke,
Johannes
Hi,
Du solltest das statt so
<TD id="00-04" onMouseOver="grau(00-04)" style="cursor:hand">
so schreiben:
<TD id="00-04" onMouseOver="grau('00-04')" style="cursor:hand">
Dann funktioniert's wahrscheinlich.
Ich hab in solchen Fällen das so geschrieben (finde ich übersichtlicher):
Statt
{document.all.Nummer.style.backgroundColor= "#B9B9B9";}
so
{document.all[Nummer].style.backgroundColor= "#B9B9B9";}
Manfred