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


Posted in Javascript onOctober 08, 2014

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方法。
Javascript 相关文章推荐
JavaScript While 循环基础教程
Apr 05 Javascript
基于Jquery实现表格动态分页实现代码
Jun 21 Javascript
借助script进行Http跨域请求:JSONP实现原理及代码
Mar 19 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 Javascript
js显示文本框提示文字的方法
May 07 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
Oct 10 Javascript
Javascript中的迭代、归并方法详解
Jun 14 Javascript
浅析java线程中断的办法
Jul 29 Javascript
实用Javascript调试技巧分享(小结)
Jun 18 Javascript
JS实现提示框跟随鼠标移动
Aug 27 Javascript
vue-amap根据地址回显地图并mark的操作
Nov 03 Javascript
Vue 数据响应式相关总结
Jan 28 Vue.js
吐槽一下我所了解的Node.js
Oct 08 #Javascript
Node.js 的异步 IO 性能探讨
Oct 08 #Javascript
JS中的form.submit()不能提交表单的错误原因
Oct 08 #Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 #Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 #Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 #Javascript
js事件绑定快捷键以ctrl+k为例
Sep 30 #Javascript
You might like
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
ajax php 实现写入数据库
2009/09/02 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
php操作xml
2013/10/27 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
2013/11/12 Javascript
js鼠标滑过图片震动特效的方法
2015/02/17 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
javascript RegExp 使用说明
2016/05/21 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
Vue中封装input组件的实例详解
2017/10/17 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
Python写的Socks5协议代理服务器
2014/08/06 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
使用python计算三角形的斜边例子
2020/04/15 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
Tensorflow使用Anaconda、pycharm安装记录
2020/07/29 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
优秀干部获奖感言
2014/01/31 职场文书
医学类个人求职信范文
2014/02/05 职场文书
导游词之任弼时故居
2020/01/07 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
python垃圾回收机制原理分析
2022/04/13 Python
Python读取和写入Excel数据
2022/04/20 Python