CSSStyleSheet对象
CSSSty'leSheet对象包含所有的样式表,包括外部样式表以及嵌入式样式表(通过<style>标签定义).可以同过documentstyleSheets获得该对象,它具有如下属性:
这里要注意:
1 其中cssRules属性在IE中是rules属性
2 这里的href,当遇到<style>嵌入的样式表的时候,在火狐里面会是null,而在IE8里面是一个空字符串""
3 insertRule在IE里面的对应方法为addRule(selector, declaration, index),其中的selector为css选择器,declaration为一个由css属性值对组成的字符串,index为要插入的位置。在insertRule方法中,要将新样式插入末尾,index应该为cssRules数组的长度,而在IE中index应该为-1.
4 deleteRule在IE中对应的方法为removeRule(index),其中的index为要删除的样式(或者规则)在样式表中的位置。在IE中,如果要删除末尾的规则,index不是-1,而是样式(或者规则)在样式表中的真实位置。
5 如果要获取media属性里面包含的字符串值,W3C里面应该是styleSheet.media.mediaText(其中Safari会自动在末尾加上逗号),而在IE中是styleSheet.media
6 获得引入样式表的标签<link>或者<style>,在W3C里面是styleSheet.ownerNode,而在IE里面是styleSheet.owningElement。
CSSStyleRule对象
每个CSSStyleSheet对象里面包含一组CSSStyleRule对象,它们具有以下属性:
通过cssRules或者rules的style属性获取的总是样式表中的属性值,而不管标签元素有没有内联的style属性
CSSStyleDeclaration对象
这个对象具有的属性如下:
这三个方法是W3C里面的方法,而且propertyName是world-world类型(如:background-color),IE不支持