CSS verliert(?) :hover bei JS

  • Ich hab da paar tab buttons bei denen ich mit :hover den Background ändere.
    Klappt auch, klar.
    Aber sobald ich mit JS den Background einmal geändert hab, ist der :hover Effekt weg :huh:


    CSS:


    JS:

    JavaScript
    function changeBGColorByClass(classname,color){
               	var el = document.getElementsByClassName(classname);
               	for(var i = 0; i < el.length; i++){
                    el[i].style.background = color;
               }
            }


    JS nutze ich eigentlich nur um den Background wieder zurück zu setzen, da die Seite nicht neu lädt.
    Hab ich da nen Fehler oder kann ich den BG evtl auch ohne JS wieder zurück setzen?

  • javascript macht den style als inline style.


    also wenn du z.b. wider die farbe aus der css datei nehmen willst mach einfach el.style.background = "";

  • Also geht :hover verloren?
    Das is ja Mist. Ich wollte so wenig wie möglich JS nutzen. So müsste ich ja jetzt hover komplett über JS machen (onmouseover ...).


    Oder fällt Dir ne Möglichkeit ein, den Hintergrund in CSS zu schreiben?

  • du kannst bei deinen hover !important schreiben das ist dann höherwertig als das inline style ;)


    also background:red !important;

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!