得到css样式
我们想要获得css 的样式,box.style.left box.style.backgorundColor
但是它只能得到 行内的样式。
但是我们工作最多用的是内嵌式 或者 外链式 。
怎么办?
核心:我们怎么才能得到内嵌或者外链的样式呢?
1. obj.currentStyle ie opera 常用
外部(使用<link>)和内嵌(使用<style>)样式表中的样式(ie和opera)
2.window.getComputedStyle("元素","伪类") w3c
两个选项是必须的,没有伪类 用 null 替代
3. 兼容写法 :
我们这个元素里面的属性很多, left top width ===
我们想要某个属性, 就应该 返回改属性,所有继续封装 返回当前样式的函数。
var demo = document.getElementById("demo"); function getStyle(obj,attr) { // 谁的 那个属性 if(obj.currentStyle) // ie 等 { return obj.currentStyle[attr]; } else { return window.getComputedStyle(obj,null)[attr]; // w3c 浏览器 } } console.log(getStyle(demo,"width"));