IE修改样式表规则不刷新

时间:2013-01-29 19:35:41

标签: javascript internet-explorer stylesheet

我正在通过JS向样式表添加规则,然后尝试编辑该规则。它在其他地方工作正常但在IE中没有。

我知道访问样式表和放大器的区别在IE中的规则,我想在修改现有属性方面也必须有所不同,请参阅我的(仅限IE)示例:

<style type="text/css" rel="stylesheet" id="tmp-style"></style>
<h3>Test</h3>
<script type="text/javascript">
    var sheet = document.styleSheets[0];
    sheet.addRule('h3', 'background-color: red', 0);
    console.log( sheet.rules[0].selectorText + ' = ' + sheet.rules[0].style['background-color'] );
    sheet.rules[0].style['background-color'] = 'blue';
    console.log( sheet.rules[0].selectorText + ' = ' + sheet.rules[0].style['background-color'] );
</script>

H3仍为红色,控制台显示:

LOG: h3 = undefined 
LOG: h3 = blue

1 个答案:

答案 0 :(得分:0)

好的事实证明,要通过IE中的JS以这种方式访问​​样式属性,你必须使用驼峰案例符号来访问它们,例如:

sheet.rules[0].style['backgroundColor'] = 'blue';