2011-11-07 8 views
11

Come posso rimuovere l'immagine di sfondo dallo stile dell'elemento. Non voglio impostarlo su none o su 0. Voglio rimuoverlo completamente. è in conflitto con moz-linear-gradient che è definito in un'altra classe.rimuovi l'immagine di sfondo dallo stile

<div style="background-image:url(http://domain.com/1.jpg); width:100px" class="mozgradient"></div> 
+4

Abbiamo bisogno di chiarimenti qui. Rimuovilo 'come'? In un editor di testo? Tramite CSS? Usando Javascript? –

+0

Rimuovilo tramite jQuery o javascript così div appare come '

' – Pinkie

+0

@Pinkie Per quanto ne sappia, ogni elemento ha un'immagine di sfondo: nessuna; per impostazione predefinita. Rimuovendolo usando JavaScript lo reimposterà al valore predefinito in quanto non ha alcuna proprietà dominante. Quindi sfortunatamente non puoi liberartene. – joshnh

risposta

14

Hai provato:

$(".mozgradient").css("background", ""); 

Impostazione dello sfondo su una stringa vuota dovrebbe rimuovere lo stile in linea in modo tale che le impostazioni di classe e altri fogli di stile hanno effetto, ma non dovrebbe influenzare altri stili che sono stati fissati in linea come width. (In questo caso rimuovendolo da tutti gli elementi con la classe mozgradient si impedisce il conflitto di cui si sta parlando.)

Da the jQuery .css() doco:

Impostare il valore di una proprietà di stile su una stringa vuota - per esempio $ ('# mydiv'). css ('color', '') - rimuove quella proprietà da un elemento se è già stata applicata direttamente, sia nell'attributo di stile HTML, tramite il metodo .css() di jQuery, sia tramite diretta Manipolazione DOM della proprietà style.

+0

Questo è interessante! Devo andare a provare questo. Potrebbe essere un consiglio utile! –

+0

nnnnnn - questa è una buona informazione! Quest'ultima parte della documentazione sembra indicare che è esattamente ciò che @pinkie sta cercando "Tuttavia, non rimuove uno stile che è stato applicato con una regola CSS in un foglio di stile o elemento