2012-02-15 36 views
5

$('body').css('background-color', 'blue'); không hoạt động đối với tôi.Ghi đè nền nội dung bằng JQuery?

Dường như có các quy tắc CSS phù hợp khác chiếm ưu thế trên trang.

Có cách nào để buộc CSS này hoạt động không? Điều này cũng không hoạt động khi tôi thử hình nền ...

Với trình khám phá CSS của Google Chrome, có ba quy tắc CSS phù hợp khác nhau cho cơ thể.

Tôi không hiểu cách thức hoạt động và lý do tại sao điều này trên JQuery không hoạt động.

Hãy cho tôi biết kiến ​​thức!

[EDIT]

Câu trả lời hoàn hảo cho việc ghi đè CSS! Cảm ơn

Lưu ý: Xóa bộ nhớ cache và duyệt dữ liệu từ đầu thời gian, nó giúp;)

+0

'[php]' thẻ loại bỏ ... –

+0

Nó có thể phụ thuộc vào khi 'bạn $ ('body') css()' quy tắc diễn ra -. Nó chạy sau khi trang đã được nạp? – summea

+0

Làm việc cho tôi trong FF, Chrome và IE: http://jsbin.com/ubenar –

Trả lời

13

Nếu bạn muốn để buộc phong cách này được áp dụng trong trường hợp có xung đột sau đó sử dụng !important sau khi phong cách.

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

Điều đó thực sự có thể là nó. –

+0

Không phải là css tương đương với phong cách nội tuyến, vì vậy không phải là nó mạnh hơn sau đó mọi quy tắc csse khác ngay cả khi không có! – gdoron

+2

Nếu bạn có '! Quan trọng' được áp dụng trong các kiểu lớp css thì kiểu nội tuyến cũng sẽ không hữu ích. Để ghi đè lên, chúng ta cần phải chỉ rõ '! Important' trong các kiểu nội tuyến. – ShankarSangoli

2

Sử dụng !important sẽ đẩy ưu tiên của phong cách này:

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

Tuy nhiên nó có thể là giá trị niêm yết hơn về mã nguồn của bạn, như thường có một giải pháp tốt hơn so với sử dụng !important

+0

@ T.J.Crowder - Trừ khi '! Important' đã được đặt trên biểu định kiểu được liên kết ở đâu đó. Tôi khá tự tin! Điều quan trọng trên biểu định kiểu có mức độ ưu tiên cao hơn kiểu nội tuyến mà không cần quan trọng – Curt

+0

'@ Curt': Ugh. Tôi rất tiếc khi nói rằng bạn có vẻ đúng về điều đó: http: // jsbin.com/ubenar/2 (Tôi không thể ngay lập tức tìm thấy câu lệnh đó trong thông số CSS, nhưng khi Chrome, Firefox và IE đều đồng ý, hình tôi chỉ thiếu nó.) Tuy nhiên, một lý do khác để tránh '! important' như tai họa. :-) –

+0

@ T.J.Crowder Đó là điều mà cả hai chúng tôi đều có thể đồng ý! – Curt

1

Hãy thử thực hiện sau khi trang được tải:

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

Sẽ không thay đổi điều gì. – gdoron

0

Là một giải pháp nhanh, có thể thử điều này:

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

Nhưng bạn sẽ thấy nơi xung đột đến từ và khắc phục.

0
<script type="text/javascript"> 

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

</script> 
Các vấn đề liên quan