2012-02-15 14 views
5

$('body').css('background-color', 'blue'); no funciona para mí.¿Anulando el fondo del cuerpo con JQuery?

Parece haber otras reglas CSS coincidentes que prevalecen en la página.

¿Hay alguna manera de forzar este CSS para que funcione? Esto tampoco funciona cuando intento background-image ...

Con el explorador de CSS de Google Chrome hay tres reglas CSS diferentes para el cuerpo.

No entiendo cómo funciona esto y por qué este JQuery anterior no está funcionando.

¡Dame el conocimiento por favor!

[EDIT]

La respuesta es perfecto para anular CSS! Gracias

Nota: caché y los datos de navegación claro desde el principio de los tiempos, que ayuda;)

+0

'[php] etiqueta' eliminado ... –

+0

Se podría depender de cuando sus '$ ('cuerpo') css()' regla tiene lugar -. Qué se ejecuta después de que la página ya se ha cargado? – summea

+0

Funciona para mí en FF, Chrome e IE: http://jsbin.com/ubenar –

Respuesta

13

Si desea forzar este estilo que se aplicará en caso de que haya conflictos continuación, utilizar !important después de que el estilo.

$(function(){ 
    $('body').css('background-color', 'blue !important'); 
}); 
+0

Eso podría ser. –

+0

¿El css no es igual al estilo en línea, por lo tanto, no es más fuerte que cualquier otra regla de csse incluso sin la importante? – gdoron

+2

Si tiene '! Important' aplicado en los estilos de la clase css, entonces el estilo en línea tampoco ayudará. Para anular eso, necesitamos especificar '! Important' dentro de los estilos en línea también. – ShankarSangoli

2

Usando !important empujará la prioridad de este estilo:

$('body').css('background-color', 'blue !important'); 

Sin embargo puede ser que valga la publicación de más de su código fuente, ya que a menudo hay una solución mejor que usar !important

+0

@ T.J.Crowder - A menos que '! Important' se haya establecido en una hoja de estilo vinculada en alguna parte. ¡Estoy bastante seguro! ¡Importante en una hoja de estilo tiene una prioridad más alta que un estilo en línea sin! Importante – Curt

+0

'@ Curt': Ugh. Lamento decir que parece ser correcto al respecto: http: // jsbin.com/ubenar/2 (No puedo encontrar inmediatamente esa afirmación en la especificación de CSS, pero cuando Chrome, Firefox e IE están de acuerdo, me imagino que me lo estoy perdiendo). Otra razón más para evitar '! important' como el Plaga. :-) –

+0

@ T.J.Crowder ¡Es algo en lo que ambos podemos estar de acuerdo! – Curt

1

Intente ejecutarlo después de cargar la página:

$(window).load(function() { 
    $('body').css('background', 'blue'); 
}); 
+0

No cambiará nada. – gdoron

0

Como solución rápida, puede que intente esto:

$('body').css('background', 'blue !important'); 

embargo, usted debe ver donde el conflicto está viniendo y solucionarlo.

0
<script type="text/javascript"> 

    $(document).ready(function(){ 
      $("body").css("background-color","blue!important"); 
    }); 

</script> 
Cuestiones relacionadas