Marco: Td Hintergrundfarbe dynamisch ändern NE

Hallo,

ich habe da ein Problem. Ich habe mehrere Td's in einigen Tabellen, und nun möchte ich bei allen die Hintergrundfarbe ändern wenn ich mit der Maus drüber fahre.
Meine Versuche sehen so aus:

function highlight(mytd)
{
var alltd = document.getElementById("mentd");
var x = alltd.length;

for(i=0; i < x; i++)
{
     document.getElementById("mentd").style.backgroundColor= "white";
}

}
.
..

<td id="mentd" onmouseover="highlight(this)">
   <a class="menu" href="home.html" onfocus="this.blur()">Home</a>
</td>

<td id="mentd" onmouseover="highlight(this)">
    <a class="menu" href="home2.html" onfocus="this.blur()">Home2</a>
</td>

<td id="mentd" onmouseover="highlight(this)">
    <a class="menu" href="home3.html" onfocus="this.blur()">Home3</a>
</td>

Das funktioniert so aber nicht. Zuerst habe ich Probleme bei der Ermittlung der Länge des element Arrays. Was mache ich da falsch?
Und dann, wie durchlaufe ich diese Elemente und weise ihnen die Farbe zu?

Danke schon mal für eure Hilfe.

  1. Hi,

    <td id="mentd" onmouseover="highlight(this)">
    <td id="mentd" onmouseover="highlight(this)">

    Du verwendest die selbe id mehrfach. Dies ist innerhalb eines Dokuments nicht erlaubt.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
  2. Hallo, Marco,

    ohne Deinen Code genau analysiert zu haben fällt mir auf, daß Du mehrere identische IDs vergibst - das ist nicht zulässig. Eine ID darf nur genau einem Element zugeordnet werden (auch wenn ich schon Skripte gesehen habe, bei denen das nicht der Fall war und die trotzdem funktionierten).

    Außerdem: Warum wendest Du die Stiländerung nicht gleich auf das TR-Element an?

    Grüße,

    Sebastian

  3. Hallo Marco,

    Wenn ich Dich richtig verstehe, willst Du immer die ganze Zeile gleich wechseln.
    Im PHP-MyAdmin wird das so gemacht. Schonmal da in den Quelltext geschaut?

    Gruß, Andreas

  4. Wozu diese JavaScriptgeschwulst - dafür gibt'ds doch CSS:
    td:hover {background-color:#FF0000}
    Übrigens scheinst du damit ja einen typischen Rollovereffekt für eine Navigationsleiste erzielen zu wollen. Die sind semantisch gesehen aber eher Listen, als Tabellen; ein Tutorial dazu gibt's unter http://www.maxdesign.com.au/presentation/listutorial/ .