2012-02-15 17 views
5

$('body').css('background-color', 'blue'); nie działa dla mnie.Zastępowanie tła ciała za pomocą JQuery?

Wygląda na to, że istnieją inne dopasowane reguły CSS, które dominują na stronie.

Czy jest jakiś sposób zmusić ten CSS do działania? To również nie działa, gdy próbuję obrazu tła ...

Z eksploratorem CSS przeglądarki Google Chrome są dostępne trzy różne reguły CSS dla treści.

Nie rozumiem, jak to działa i dlaczego powyższe JQuery nie działa.

Proszę podać mi wiedzę!

[EDIT]

Odpowiedź jest idealny dla nadrzędnymi CSS! Dzięki

Uwaga: Wyczyść pamięć podręczną i przeglądania danych od początku czasu, pomaga;)

+0

'[php]' tag usunięte ... –

+0

To może zależeć, gdy '$ ('body') css()' zasada ma miejsce. - ma działać po stronie już załadowane? – summea

+0

Działa dla mnie w FF, Chrome i IE: http://jsbin.com/ubenar –

Odpowiedz

13

Jeśli chcesz zmusić ten styl należy stosować w przypadku istnieją konflikty następnie użyć !important po stylu.

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

To może być rzeczywiście to. –

+0

Czy css jest równy inline style, więc czy nie jest on silniejszy niż każda inna reguła csse nawet bez! Important? – gdoron

+2

Jeśli masz '! Important' stosowany w stylach klas CSS, to styl wstawiania również nie pomoże. Aby zastąpić to, musimy również podać '! Important' w ramach stylów wbudowanych. – ShankarSangoli

2

Korzystanie !important będą wymuszać pierwszeństwo tym stylu:

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

Jednak to może być warte opublikowania się więcej o kodzie źródłowym, jak jest często lepszym rozwiązaniem niż korzystanie !important

+0

@ T.J.Crowder - Chyba że "! Important" zostało ustawione gdzieś na połączonym arkuszu stylów. Jestem przekonany, że ważne w arkuszu stylów ma wyższy priorytet niż styl wbudowany bez! Ważne – Curt

+0

'@ Curt': Ugh. Przykro mi to mówić, ale wydaje się, że masz rację: http: // jsbin.com/ubenar/2 (Nie mogę od razu znaleźć tego oświadczenia w specyfikacji CSS, ale kiedy Chrome, Firefox i IE wszyscy się zgadzają, zauważ, że po prostu tęsknię.) Kolejny powód, by unikać '! important' jak plaga. :-) –

+0

@ T.J.Crowder To jest coś, na co możemy się zgodzić! – Curt

1

Spróbuj wykonać po załadowaniu strony:

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

Nic nie zmieni. – gdoron

0

Jako szybkie rozwiązanie, może spróbuj tego:

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

Ale trzeba zobaczyć, gdzie konflikt pochodzi i naprawić.

0
<script type="text/javascript"> 

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

</script> 
Powiązane problemy