getElementsByName funkt bei ie6.0 nicht

  • hallo leute,
    hab hier eine zelle, die beim drüberfahren "markiert" wird (also eine andere farbe erhält). mein problem: funktioniert mit getElementsByName nur im firefox, nicht aber im ie6.0 (kann getElementsByTagName nicht verwenden, da sich die anzahl der elemente auf der seite manchmal verändert).

    code:

    Code
    var akt='#FFE380';
    var out='#F2F2FA';
    
    
    function farbwechsel(n, c) {
    	window.document.getElementsByName(n)[0].bgColor = c;
    }
    
    
    <tr><td name="ab" bgcolor="#F2F2FA" onMouseOver="farbwechsel('ab',akt)" onMouseOut="farbwechsel('ab',out)">bla</td></tr>

    fehlermeldung:

    Zitat

    'window.document.getElementsByName(...).0' ist Null oder keinObjekt

    hat irgendwer ne ahnung was ich falsch mache?

  • naja, hab mich mit css no ned so wirklich viel beschäftigt. wie wend ich hover auf ein td-element an? geht das ned nur für verweise?

  • Hmm...

    Also ich würde in dem Fall (wenns schon über DOM gehen soll) document.getElementsByName(n)[0].style.backgroundColor=c;

    nehmen..... funktioniert bei mir zumindest im IE...

    Gruß
    Kenny28

  • Vergessen...

    alternativ kannst du auch statt der Funktion einfach onmouseover="this.style.backgroundColor=akt;" bzw. onmouseout="this.style.backgroundColor=out;" nehmen.....

    Gruß
    Kenny28

  • Zitat von Anonymous

    Vergessen...

    alternativ kannst du auch statt der Funktion einfach onmouseover="this.style.backgroundColor=akt;" bzw. onmouseout="this.style.backgroundColor=out;" nehmen.....

    Gruß
    Kenny28


    ok, so funktionierts mal, dein erster vorschlag hat hingegen nichts geholfen. falls irgendjemand weiß wo mein fehler bei der "getElementsByName"-variante liegt, ich bin für jeden hinweis dankbar.

  • Moin!

    "window.document.getElementsByName(n)[0].bgColor" gibt es nicht - wenn dann muß es

    Code
    var akt='#FFE380';
    var out='#F2F2FA';
    
    
    function farbwechsel(n, c) {
       window.document.getElementsByName(n)[0].style.backgroundColor = c;
    }
    
    
    <tr><td name="ab" bgcolor="#F2F2FA" onMouseOver="farbwechsel('ab',akt)" onMouseOut="farbwechsel('ab',out)">bla</td></tr>


    heißen.
    Groß-/Kleinschreibung unbedingt beachten, sonst falscher Syntax.

    G.a.d.M.

    Ronald

  • hallo,
    hab ich auch schon probiert, funktioniert bei mir aber ebenfalls nur im firefox.

    übrigens, das problem liegt sicher irgendwo beim getElementsByName, hat nämlich vorher mit getElementsByTagName("td")[i] funktioniert (mit .bgColor und auch im internet-explorer!).

    da ich aber ein formular mit dynamischen elementen eingefügt hab musste ich auf ByName umsteigen (oder i berechnen).