【www.gdgbn.com--js教程】

function attrstyle(elem,attr){
if(elem.attr){
//若样式存在于html中,优先获取
return elem.style[attr];
}else if(elem.currentstyle){
//ie下获取css教程属性最终样式(同于css优先级)
return elem.currentstyle[attr];
}else if(document.defaultview && document.defaultview.getcomputedstyle){
//w3c标准方法获取css属性最终样式(同于css优先级)
//注意,此法属性原格式(text-align)获取的,故要转换一下
attr=attr.replace(/([a-z])/g,"-$1").tolowercase();
//获取样式对象并获取属性值
return document.defaultview.getcomputedstyle(elem,null).getpropertyvalue(attr);
}else{
return null;
}
}

无论ie还是w3c的, 有一点是相同的, 它们所获取的是元素css属性最终值. 这一点与css的优先级是相同的.
有一点不同的是, ie的方法是通过css属性的驼峰式名(如textalign)获取, 而w3c的方法是通过元素css原来的属性名(如text-align)获取的, 所以, 在使用w3c方法时, 需要对css属性名做个简单的处理.
基于此, 我们可以封装一个获取元素属性值的方法

本文来源:http://www.gdgbn.com/wangyezhizuo/28577/