我们在前端开发的工作过程中,通常需要用javascript来设置和获取某元素的CSS属性的值。
首先,设置元素的CSS属性值没什么问题,直接用就行了,没有浏览器差异,比如设置 id=box 的元素的宽度为100px:
var obj=document.getElementById('box');
obj.style.width=100+'px';
然而获取CSS属性的值却不是那么好办了,这样写是错误的(返回空字符串,方法存在,结果不对):
alert(obj.style.width)
要获取CSS属性值,就要用到IE下的currentStyle方法和FF(火狐)下的getComputedStyle方法:
function getStyle(obj,attr){
if(obj.currentStyle) return obj.currentStyle[attr];
else return getComputedStyle(obj,false)[attr];
}
var w=getStyle(obj,'width');
alert(w);/*无论是行内样式还是行间样式都可以读取*/