2012-04-05 7 views
1

entferne ich bin der jquery css Eigenschaft mit einem Hintergrundhat einen CSS-Hintergrund, wie man es ganz

myobj.css('background', '#AE0000'); 

Dies führt in diesem Stil html hinzugefügt hinzuzufügen, um das Markup

style="background: none repeat scroll 0% 0% rgb(174, 0, 0);" 

Später möchte ich diesen Hintergrund entfernen. Ich dachte, dass die Einstellung von css Hintergrund zu weiß myobj.css('background', '#FFFFFF'); funktionieren würde, aber leider schafft dies Probleme, weil das div weißen Hintergrund im Gegensatz zu nichts hat.

style="background: none repeat scroll 0% 0% rgb(255, 255, 255);" 

Gibt es eine ähnliche Art und Weise mit jquery vollständig die background Eigenschaft des CSS zu entfernen? wie style=""

+0

Wenn möglich können Sie einfach tauschen Sie Klassen mit CSS aus, die für die von Ihnen benötigte Klasse geschrieben wurden? –

+0

http://jsfiddle.net/LCqn3/ wird das funktionieren? –

Antwort

5

Kurzantwort

myobj.css('backgroundColor', 'transparent'); 

Lange Antwort

ich für eine bessere Wartbarkeit würde vorschlagen, verwenden Sie CSS-Klassen für Dinge wie diese:

.active { background:#AE00000 } 

dann in Ihrem Javascript

myobj.addClass('active'); 

myobj.removeClass('active'); 

Dies hat den Vorteil, nicht über das Ändern der CSS-Wert zu kümmern wechseln off jedes Mal (wenn Sie css() verwenden) Änderung gibt es in Ihrem Design oder wenn Sie mehr Markup zu diesem bestimmten Element hinzufügen müssen.

Zum Beispiel am Ende müssen Sie Hintergrund, Schriftgröße und Farbe verwenden, in Ihrem js:

myobj.css({'background':'#aaa', 'font-size':'15px', 'color':'red'}); 

Dann jedes Mal müssen Sie wechseln aus:

myobj.css({'background':'none', 'font-size':defaultSize + 'px', 'color':'black'}); 

Nicht nur es ist fehleranfällig, aber schwieriger zu warten, wenn Sie CSS verwenden:

.active { background:#AE00000; font-size:15px; color:red } 

dann in Ihrem Javascript

myobj.addClass('active'); 

myobj.removeClass('active'); 
+0

Warum Klasse geben? – Starx

3

Verwenden none

myobj.css('background', 'none'); 
1

würde ich sagen wechseln ab, wird dies

ein guter Weg sein
myobj.css({ 
    'background': 'none', //remove all the background property 
    'backgroundColor': '#FFF' //then only set the background color property 
}); 
Verwandte Themen