我一直在尝试使用javascript动态编写样式表。在Firefox浏览器中,可以通过在styleSheets
的cssRules
中使用setProperty
方法,来对样式进行设置,例如...
document.styleSheets[0].cssRules[0].style
.setProperty(propertyName, propertyValue, 'important');
要在样式上设置!important
标志,我发现在Internet Explorer中没有相应的方法(setAttribute
方法没有设置样式上的!important
标志的选项)。一些尝试发现对于确切的样式,比如border-top-width
,我可以重写cssText
字符串以添加!important
,但后来我发现,如果您单独设置所有边框,IE会将实际规则重写为简写形式,因此它会重写为border-top
,border-right
等,并且每个都被设置,但没有!important
标志。此外,如果我通过简写形式明确设置它,则不会接受重写cssText
以使用!important
标志。
因此,问题是,当动态编写样式到styleSheets
规则时,是否有人知道一种方法可以让IE始终为该规则设置!important
标志?
感谢您的帮助,
Scott