您好,欢迎访问一九零五行业门户网

JavaScript中获取样式的原生方法小结_javascript技巧

ps:是获取样式,不是设置样式。若没有给元素设置样式值,则返回浏览器给予的默认值。(论坛整理)
1、element.style:只能获取写在元素标签中的style属性里的样式值,无法获取到定义在和通过加载进来的样式属性
复制代码 代码如下:
var ele = document.getelementbyid('ele');
ele.style.color;    //获取颜色
2、window.getcomputedstyle():可以获取当前元素所有最终使用的css属性值。
复制代码 代码如下:
window.getcomputedstyle(元素, 伪类);
这个方法接受两个参数:要取得计算样式的元素和一个伪元素字符串(例如“:before”) 。如果不需要伪元素信息,第二个参数可以是null。也可以通过document.defaultview.getcomputedstyle(“元素”, “伪类”);来使用
复制代码 代码如下:
var ele = document.getelementbyid('ele');
var styles = window.getcomputedstyle(ele,null);
styles.color;  //获取颜色
可以通过style.length来查看浏览器默认样式的个数。ie6-8不支持该方法,需要使用后面的方法。对于firefox和safari,会把颜色转换成rgb格式。3、element.currentstyle:ie 专用,返回的是元素当前应用的最终css属性值(包括外链css文件,页面中嵌入的
4、getpropertyvalue():获取css样式的直接属性名称
复制代码 代码如下:
var ele = document.getelementbyid('ele');
window.getcomputedstyle(ele,null).getpropertyvalue('color');
注意:属性名不支持驼峰格式,ie6-8不支持该方法,需要使用下面的方法5、getattribute():与getpropertyvalue类似,有一点的差异是属性名驼峰格式
复制代码 代码如下:
var test = document.getelementbyid('test');
window.getcomputedstyle(test, null).getpropertyvalue(backgroundcolor);
注意:该方法只支持ie6-8。下面的获取样式方法兼容ie、chrome、firefox等
复制代码 代码如下:
function getstyle(ele) {
     var style = null;
if(window.getcomputedstyle) {
         style = window.getcomputedstyle(ele, null);
     }else{
         style = ele.currentstyle;
     }
return style;
}
在jquery中,常用css()获取样式属性,其底层运作就应用了getcomputedstyle以及getpropertyvalue方法。
其它类似信息

推荐信息