Javascript的CSS属性值的方法:getcomputedstyle和currentstyle

1。对于内联CSS样式(你好)的元素,你可以直接使用element.style.color获得价值的CSS属性直接;

2。但对于外部定义的CSS样式的使用这种方式已无法获得,和IE浏览器和其他浏览器(Firefox、Chrome标准,Opera,Safari)所采用的方法是不一样的,使用element.currentstyle IE浏览器,浏览器使用getcomputedstyle获得W3C标准。

1。即得到该元素的外部定义的CSS属性值:element.currentstyle

的currentstyle对象返回的元素的样式,但风格对象返回的风格标签属性应用到元素的嵌入式样式。

因此,风格值通过currentstyle对象可能不同于通过样式对象获得的样式值。

例如,如果一个段落的颜色属性的值设置为红色(红色)通过链接或嵌入的样式表,而不是嵌入,object.currentstyle.color将返回正确的颜色,而对象style.color不能返回值。但是,如果用户指定,无论是currentstyle和样式对象将返回值红。
的currentstyle对象反映在样式表中的样式的优先级。在HTML中,这个顺序是:

1)嵌入式风格

2)样式表规则

3)html标签属性

4)HTML标记的内部定义

2。W3C获取元素的外部定义的CSS属性值:window.getcomputedstyle(元,pseudoelt)
元素所需的HTML元素
pseudoelt,伪类风格获得元
复制代码代码如下所示:
功能getstyle(节点属性){
如果(节点样式{属性}){
返回节点。样式{属性};
}
如果(节点。currentstyle){
返回节点。currentstyle {属性};
}
如果(document.defaultview文件。defaultview。getcomputedstyle){
VaR的风格= document.defaultview.getcomputedstyle(节点、空);
返回style.getpropertyvalue(财产);
}
返回null;
}