我正在通过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
答案 0 :(得分:0)
好的事实证明,要通过IE中的JS以这种方式访问样式属性,你必须使用驼峰案例符号来访问它们,例如:
sheet.rules[0].style['backgroundColor'] = 'blue';