2009-11-20 58 views
5

chúng ta có thể ghi đè lên css nội tuyến thông qua javascript không? với khả năng tương thích IE6.Làm thế nào để ghi đè lên css nội tuyến thông qua javascript?

Tôi đã tìm thấy giải pháp css thuần túy này nhưng không hoạt động trong IE.

http://nataliejost.com/override-inline-styles-from-the-stylesheet/

http://www.sitepoint.com/blogs/2009/05/27/override-inline-css/

<div class="block"> 
    <span style="font-weight: bold; color: red;">Hello World</span> 
</div> 

chúng ta có thể ghi đè lên phong cách nội tuyến này với giải pháp này

.block span[style]{ 
    font-weight: normal !important; 
    color: #000 !important; 
} 

này việc giải pháp trong tất cả các trình duyệt lớn trừ IE6.

+0

xóa các [giải quyết] đằng sau tiêu đề, trên SO câu hỏi không bao giờ được giải quyết cuối cùng, luôn luôn có thể là một lựa chọn tốt hơn hoặc một biến thể đáng chú ý. SO là một wiki sau khi tất cả. – markus

+0

ok cảm ơn thông tin này. Tôi không biết về điều này –

Trả lời

14

Tất nhiên bạn có thể bằng cách sử dụng css jQuery() phương pháp: http://docs.jquery.com/CSS/css#namevalue

Vì vậy, nếu ví dụ bạn có HTML sau:

<p style="color:red;">A colored text</p> 

Bạn có thể thay đổi màu sắc bằng cách làm như sau trong jQuery :

$("p").css("color","blue"); 

Và nó sẽ hoạt động trong IE6.

+0

tuyệt vời! cảm ơn rất nhiều –

+0

và có bất kỳ giải pháp css thuần túy nào để làm điều này –

+0

jQuerys css() thực sự thêm CSS nội tuyến trong DOM. Làm theo cách khác xung quanh, ghi đè lên jQuery css() với css là khó khăn hơn (nó hoạt động bằng cách sử dụng! Quan trọng, nhưng không phải trong IE6) – David

3

!important không hoạt động trong IE6, nó chỉ là công cụ chọn của bạn span[style] sẽ không, vì bộ chọn thuộc tính không được hỗ trợ ở đó. Nếu bạn có thể tìm thấy một bộ chọn khác sẽ chọn các nhịp bạn muốn ghi đè, điều đó sẽ hoạt động tốt. Có lẽ chỉ cần .block span là đủ?

Nếu không, có, bạn có thể thay đổi nó từ JavaScript nếu bạn hoàn toàn phải (nếu bạn không có bất cứ quyền kiểm soát đánh dấu?):

span.style.fontWeight= 'normal'; 
span.style.color= 'black'; 
Các vấn đề liên quan