本文介绍在JavaScript中获取元素最终渲染样式的方法。Firefox等现代浏览器使用window.getComputedStyle,而IE旧版使用currentStyle。通过遍历样式对象并过滤特定值,可以提取所有生效的CSS属性。
获取元素计算样式的方法
实现代码如下:
window.onload = function(){
var oDIv = document.getElementById('progressBox');
var sytleElemt = window.getComputedStyle(oDIv);
for(var i=0;i<sytleElemt.length;i++){
if(
typeof sytleElemt[sytleElemt[i]] != 'undefined' &&
sytleElemt[sytleElemt[i]] != 'none' &&
sytleElemt[sytleElemt[i]] != 'rgb(0, 0, 0)' &&
sytleElemt[i] != 'quotes'
)
console.log(sytleElemt[i]+":"+sytleElemt[sytleElemt[i]]);
}
} 上述代码适用于Firefox浏览器。
在IE浏览器中,请使用
currentStyle,其基本原理相同。
该方法遍历所有样式属性,通过判断属性值是否不等于'undefined'或特定的默认值(如'none'、'rgb(0, 0, 0)'、'quotes'),从而过滤出实际应用的样式属性。