我们可以通过javascript覆盖内联css吗? 兼容IE6 。
我发现这个纯粹的css解决方案但在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>
我们可以使用此解决方案覆盖此内联样式
.block span[style]{
font-weight: normal !important;
color: #000 !important;
}
此解决方案适用于除IE6以外的所有主要浏览器。
答案 0 :(得分:14)
当然你可以使用jQuery的css()方法:http://docs.jquery.com/CSS/css#namevalue
因此,例如,如果您有以下HTML:
<p style="color:red;">A colored text</p>
您可以通过在jQuery中执行以下操作来更改颜色:
$("p").css("color","blue");
它将在IE6中运行。
答案 1 :(得分:4)
!important
在IE6中有效,只是你的选择器span[style]
不会,因为那里不支持属性选择器。如果你能找到另一个选择你想要覆盖的跨度的选择器,那就行了。也许只有.block span
就足够了?
否则,是的,如果你绝对必须,你可以从JavaScript更改它(你不能控制标记吗?):
span.style.fontWeight= 'normal';
span.style.color= 'black';