CSS !wichtig scheint nicht zu funktionieren in jQuery/Firefox-3.x
Sehen fiddle: http://jsfiddle.net/csaltyj/P2sLa/
In Chrome funktioniert dies gut, aber im Firefox tut es nicht, und liefert eine Javascript-Warnung. Ich weiß das !wichtig ist nicht erforderlich hier, aber ich habe ein großes Projekt, wo es erforderlich ist, und es ist was Firefox zu brechen. Irgendwelche Ideen?
!important
funktioniert in FF 3.x für mich... kannst du uns mehr code hier?- es funktioniert nicht mit FF 4, ist der Fehler gegeben ist
Warning: Expected end of value but found '!'. Error in parsing value for 'background'. Declaration dropped.
- Können Sie erklären, warum es "notwendig" in Ihrem Projekt? Es macht wirklich keinen Sinn, da die element-Stile immer Trumpf Formatvorlagen von stylesheets sowieso (soweit ich weiß).
- Es funktioniert nicht in FF 3.6 ist für mich auch, aber ich bekomme nicht einen Javascript-Fehler.
- das ist nicht jQuery Schuld. Einstellung
!important
dynamisch auf CSS-Eigenschaften, ist nur von wenigen Browser unterstützt. Siehe dieser bug. - siehe: Jquery css: die Bewerbung !wichtig styles
- Nehme an, der hintergrund für #box war
red !important
und die OP konnte das nicht ändern. Erforderlich wäre die Einstellung!important
auf den neuen Wert als gut, sonst wird es keine Wirkung haben. Wie dieses: jsfiddle.net/P2sLa/5 - Hmm ... sehr interessant. Erfahren Sie etwas jeden Tag denke ich 🙂
- Sicher, es ist aus dem Grund erforderlich ist, weil ich schon Superfish ändern der Hintergrundfarbe dynamisch, so habe ich einen speziellen Fall einrichten, wo Sie das menu-Element stellt eine Grafik in den hintergrund. Ohne !wichtig ist, nichts geschieht, weil das Superfish dynamische CSS gewinnt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Suche nach "jquery css wichtig" gebracht ein blog-post, der erklärt das "problem".
Ich werde einige zusätzliche Informationen, aber um eine lange Geschichte kurz, hier ist Ihre Lösung:
Der Autor fest, dass:
Bitte beachten Sie, dass die Verwendung cssText hat nur einen Nachteil, und möchten Sie vielleicht zu prüfen,
mit cssRules statt:
Mit allen, sagte. Bitte hören Sie den Autor Zusammenfassung:
style.cssText
. Es wird jedoch das überschreiben der ganze Stil des Elements. Laut @rubiii linkcssRules
sollte stattdessen verwendet werden, um zu vermeiden, dass.$('#box').attr('style',$('#box').attr('style')+'background: blue !important;')