Roland: name-Attribut aus img-tag ändern/entfernen

Hallo, ich habe mir folgenden vorgefertigten Mouseover-Code in meine Webseite kopiert und habe nun Probleme beim Aufräumen, um keine Fehler im Vaidator angezeigt zu bekommen:

  
<head>  
<script  
language="JavaScript">  
<!--  
button1= new Image();  
button1.src = "bilder/knopf.jpg"  
button2= new Image();  
button2.src = "bilder/email.jpg"  
</script>  
</head>  

Diesen Code-Teil habe ich bereits komplett aus dem Header entfernt und wird nun über eine .js-Datei geladen. Klappt auch wunderbar.

Nun kommt der Teil des Bodys:

  
<body>  
<a href="mailto:deine.mail@gmx.de"  
onmouseover="austausch1.src='bilder/email.jpg';"  
onmouseout="austausch1.src='bilder/knopf.jpg';">  
<img src="bilder/knopf.jpg"  
border="0" width="71"height="60"  
name="austausch1"></a>  
</body>  
</html>  

Auch hier habe ich die Angaben "border", "width" und "height" in eine CSS-Datei verlagert. Auch das klappt wunderbar.

Meine eigentliche Frage lautet nun, wie oder wohin kann ich das Attribut (name="austausch1") verschieben, so dass es im Body nicht mehr auftaucht? Mein Validator sagt nämlich, dass name-Attribut nicht im img-tag stehen darf. Entferne ich es, klappt der Mouseover-Effekt nicht mehr.

  1. Om nah hoo pez nyeetz, Roland!

    Für solche Sachen brauchst du kein Javascript, das lässt sich nur mit CSS lösen. Schau ins Wiki (Pseudoklasse :hover) sowie unter http://selfhtml.apsel-mv.de/verweise/verweise.html.

    Matthias

    --
    1/z ist kein Blatt Papier.

    1. Danke, aber das Problem mit CSS ist, dass IE 7 den Befehl "hover" nicht immer richtig interpretiert (so stehts zumindest auch im Wiki).

      Daher such ich eine andere Lösung.

      Kann ich nicht das name-Attribut in eine andere Klasse umwandeln und/oder es irgendwo ins css oder js packen?

      1. Hi,

        Danke, aber das Problem mit CSS ist, dass IE 7 den Befehl "hover" nicht immer richtig interpretiert (so stehts zumindest auch im Wiki).

        Nein, das betrifft nur IE <= 6.

        Kann ich nicht das name-Attribut in eine andere Klasse umwandeln und/oder es irgendwo ins css oder js packen?

        Nein, es gibt keinen Ersatz für ein name-Attribut in CSS.

        Aber wenn du den Bildern stattdessen eine ID gibst (die natürlich dokumentweit eindeutig zu sein hat), kannst du sie auch alles einzeln ansprechen - am "saubersten" über document.getElementById, aber der Zugriff über document.images sollte darüber ebenso funktionieren.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      2. Hallo Roland,

        Kann ich nicht das name-Attribut in eine andere Klasse umwandeln und/oder es irgendwo ins css oder js packen?

        nimm eine Id und document.getElementById oder ignoriere den IE 7.

        Gruß, Jürgen

      3. Om nah hoo pez nyeetz, Roland!

        Danke, aber das Problem mit CSS ist, dass IE 7 den Befehl "hover" nicht immer richtig interpretiert (so stehts zumindest auch im Wiki).

        "hover" ist kein Befehl sondern eine Pseudoklasse.

        Sowohl IE6 als auch IE7 wenden die Pseudoklasse :hover auf Link-Elemente korrekt an. Beide können zudem korrekt mit Hintergrundgrafiken umgehen.

        Daher such ich eine andere Lösung.

        Dies ist nicht notwendig.

        Matthias

        --
        1/z ist kein Blatt Papier.