js 设置 获取css样式
先看一段代码,为了体现一会下面说的js用style获取css样式的不同

一:给div设置margin-left(用style设置css样式没什么问题)
box.style.marginLeft="20px";
二:通过style获取div的css属性
上面的例子用三种形式给div设置了样式
1:行间样式 直接写到标签中
2:内联样式 写到head头中
3:外联样式,用link加载

分别获取,这三种形式设置的样式
console.log(box.style.width); console.log(box.style.fontSize); console.log(box.style.color);
运行如下:前两个都没有获取到,都是空

总结:所以用style获取css样式,只能获取到写到标签内的样式。
三:但是可以通过getComputedStyle方法 获得
document.defaultView是个只读对象,返回当前document对象所关联的window对象,没有返回null,(IE9以下不支持),里面的getComputedStyle()方法
getComputedStyle()两个参数,一是元素,而是伪类,如果没有伪类,则为null
var computedStyle = document.defaultView.getComputedStyle(box,null);
返回的是box元素所有样式的一个对象

此时你在获取
console.log(computedStyle.width); console.log(computedStyle.fontSize); console.log(computedStyle.color);
得到可以得到了
哈哈哈,还没结束,因为IE9以下不支持getComputedStyle
IE9以下用currentStyle
box.currentStyle
返回的也是对象,同document.defaultView.getComputedStyle相似,所有这么写
var computedStyle= box.currentStyle?box.currentStyle:document.defaultView.getComputedStyle(box,null); alert(computedStyle.width);


加油!
js 设置 获取css样式的更多相关文章
- js中获取css样式属性值
关于js中style,currentStyle和getComputedStyle几个注意的地方 (1)用js的style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的.针对css ...
- 为什么我获取不到这个css样式?js原生获取css样式总结
还是自己遇到的一个坑的总结吧!与其说是坑不如说自己学艺不精,让我先哭一会!! 需求 简单就是获取一个css的height (好吧 就是一个这么简单的需求) 实践 好吧 长时间的JQ 我已经对原生无能了 ...
- JS中获取CSS样式的方法
1.对于内联样式,可以直接使用ele.style.属性名(当然也可以用键值对的方式)获得.注意在CSS中单词之间用-连接,在JS中要用驼峰命名法 如 <div id="dv" ...
- js中获取css样式的两种方式
1. 对象.style.样式名 弊端就是只能获取行内样式 2.window.getComputedStyle(对象,null); 最好用第二种方式 <!DOCTYPE html> < ...
- js之如何获取css样式
js之如何获取css样式 一.获取内联样式 1 <div id ="myDiv" style="width:100px;height:100px; border ...
- js中style,currentStyle和getComputedStyle的区别以及获取css样式操作方法
用js的style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的. currentStyle可以弥补style的不足(可获取内联样式,内部样式和外部样式),但是只适用于IE. g ...
- js获取css样式方法
一.CSS样式共有三种:内联样式(行间样式).内部样式.外部样式(链接式和导入式) <div id="a" style="width: 100px;height: ...
- 每天一个JavaScript实例-展示设置和获取CSS样式设置
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- js中获取css属性
直接获取 window.onload = function() { var but = document.getElementById('button'); var div = document.ge ...
随机推荐
- 怎样通过Java程序提交yarn的mapreduce计算任务
因为项目需求,须要通过Java程序提交Yarn的MapReduce的计算任务.与一般的通过Jar包提交MapReduce任务不同,通过程序提交MapReduce任务须要有点小变动.详见下面代码. 下面 ...
- cocos2d-html5 笔记5: 事件
在cocos2d里面,通过Node的方式,将整个场景以及里面的object给组织起来,这样很容易画了,从root node开始遍历,把整棵树画出来就是了. 剩下就是animation,timer, 还 ...
- 关于android的屏幕保持常亮
实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明,一种是在代码里面修改LayoutParams的标志位.具体如下: 1.在Manifest.xml文件里面用user-permis ...
- SimpleDateFormat使用详解及与毫秒的相互转换
1. SimpleDateFormat使用详解 public class SimpleDateFormat extends DateFormat SimpleDateFormat 是一个以国别敏感的方 ...
- 关于QStringRef
QString 为字符串操作提供了各种成员比如mid().left().right().它们都创建会一个新的字符串,因此有一个对在已存在QString的malloc和深拷贝. 与此相反,QStri ...
- linux学习资料
鸟哥的Linux私房菜 基础学习篇(第三版) http://book.51cto.com/art/201007/211888.htm 鸟哥的Linux私房菜——服务器架设篇 http:// ...
- C#获取进程的主窗口句柄的实现方法
通过调用Win32 API实现. public class User32API { private static Hashtable processWnd = null; public delegat ...
- String、Brush、Color 相互转换
1.String转换成Color Color color = (Color)ColorConverter.ConvertFromString(string); 2.String转换成Brush Bru ...
- 【阿里云产品公测】阿里云ACE部署通用完整教程及评测
[阿里云产品公测]阿里云ACE部署通用完整教程及评测 作者:阿里云用户bailimei ACE应该是目前在公测的服务中应用最广泛的一项服务.在公测云引擎ACE前曾使用过新浪SAE,而ACE给我的最初印 ...
- 如何利用OCS存取PHP session全局变量
如何利用OCS存取PHP session全局变量 阿里云技术团队:余汶龙 一.场景介绍 用户在利用PHP搭建网站时,会把一些信息存放在$_SESSION全局变量里,可以很方便的存取.在PHP的in ...