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

 更新时间:2014年10月08日 09:43:33   投稿:junjie  
这篇文章主要介绍了JavaScript中获取样式的原生方法小结,本文总结了5种JS获取样式的原生方法,并分别给出了实例,需要的朋友可以参考下

ps:是获取样式,不是设置样式。若没有给元素设置样式值,则返回浏览器给予的默认值。(论坛整理)

1、element.style:只能获取写在元素标签中的style属性里的样式值,无法获取到定义在<style></style>和通过<link href=”css.css”>加载进来的样式属性

复制代码 代码如下:

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文件,页面中嵌入的<style>属性等)。

复制代码 代码如下:

var ele = document.getElementById('ele');
var styles = ele.currentStyle;
styles.color;

注意:对于综合属性border等,ie返回undefined,其他浏览器有的返回值,有的不返回,但是borderLeftWidth这样的属性是返回值的

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方法。

相关文章

  • Typescript中函数类型及示例详解

    Typescript中函数类型及示例详解

    这篇文章主要介绍了Typescript中函数类型,主要包括常见写法、可选参数,默认参数及剩余参数,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • 微信小程序js时间戳与日期格式的转换方法

    微信小程序js时间戳与日期格式的转换方法

    这篇文章主要给大家介绍了关于微信小程序js时间戳与日期格式的转换方法,在小程序中使用时间选择器时,获取到的时间可能是一个时间戳,这并不是我们想要的,这时候我们得将获取到的时间戳进行转换,需要的朋友可以参考下
    2023-10-10
  • TypeScript泛型参数默认类型和新的strict编译选项

    TypeScript泛型参数默认类型和新的strict编译选项

    这篇文章主要介绍了TypeScript泛型参数默认类型和新的strict编译选项,对TypeScript感兴趣的同学,可以参考下
    2021-05-05
  • javascript的函数劫持浅析

    javascript的函数劫持浅析

    javascript函数劫持,也就是老外提到的javascript hijacking技术。虽然这个概念在前端领域使用较少,但是在安全领域、自定义业务等场景下还是有一定的使用价值的。所以,这一篇文章将会和大家一起去了解一下JS中的函数劫持是什么,有什么作用,下面来一起看看吧。
    2016-09-09
  • 基于JS实现数字动态变化显示效果附源码

    基于JS实现数字动态变化显示效果附源码

    我们经常看到液晶电子表样式,数字动态显示,动态变化的在指定元素内显示数字。怎么实现效果呢?下面小编给大家带来了基于JS实现数字动态变化显示效果 ,感兴趣的朋友一起看看吧
    2019-07-07
  • JS实现的颜色实时渐变效果完整实例

    JS实现的颜色实时渐变效果完整实例

    这篇文章主要介绍了JS实现的颜色实时渐变效果,结合实例形式分析了JavaScript结合时间函数定时触发动态改变页面元素属性的相关技巧,需要的朋友可以参考下
    2016-03-03
  • 写入cookie的JavaScript代码库 cookieLibrary.js

    写入cookie的JavaScript代码库 cookieLibrary.js

    cookieLibrary.js 写入cookie的JavaScript代码库,需要的朋友可以参考下。
    2009-10-10
  • 全面解析js中的原型,原型对象,原型链

    全面解析js中的原型,原型对象,原型链

    这篇文章主要介绍了图解js中的原型,原型对象,原型链,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下
    2021-01-01
  • 一文详解最常见的六种跨域解决方案

    一文详解最常见的六种跨域解决方案

    跨域问题的本质是浏览器为了保证用户的一种安全拦截机制,想要解决跨域问题,只需要告诉浏览器"我是自己人,不要拦我"就行,下面这篇文章主要给大家介绍了关于最常见的六种跨域解决方案的相关资料,需要的朋友可以参考下
    2023-04-04
  • JavaScript Date对象详解

    JavaScript Date对象详解

    这篇文章主要为大家详细介绍了JavaScript Date对象,介绍 Date 日期和时间对象的操作,感兴趣的小伙伴们可以参考一下
    2016-03-03

最新评论