获取元素样式
来源:互联网 发布:linux删除用户组命令 编辑:程序博客网 时间:2024/06/06 03:44
晚上看了羊肉泡馍的视频,有点作妖,,沉浸到无法思考的时候,忽然想起明天又要过节了哈哈哈哈,所以抽点空谈谈使用一些方法获取元素样式。。 orz不能偷懒
首先,css样式表引用的方式有几种呢?不假思索的也知道是三种对吧~
- 行间样式表
- 内部样式表
- 外部样式表
今天说的三种方法来获取元素的样式:
- style
- getComputedStyle
- currentStyle
style不能获取非行内样式表内的信息;
getComputedStyle和currentStyle可以获取非行内元素样式表的内容;getComputedStyle不兼容低版本的IE浏览器;
currentStyle不兼容标准浏览器 。
<style> #div1{ height:50px; width:60px; background:#cfcfcf; }</style>
<script> window.onload=function(){ var oBtn1=document.getElementById('btn1'); var oDiv1=document.getElementById('div1'); oBtn1.onclick=function(){ alert(oDiv1.style.width); alert(oDiv1.currentStyle.width); alert(getComputedStyle(oDiv1).width); } }</script>
<div id="div1"></div><input type="button" value="点击我弹出div的宽" id="btn1"/>
在不同的浏览器试一试,你会发现弹出的东西也不太一样;
IE先警告一下,再弹两次60px;
火狐和chrome都是之弹出一次空的内容,然后直接报错了。
建立一个新的函数用来分类浏览器兼容:
function getStyle(obj,attr){ return obj.currentStyle ? obj.currentStyle[attr]:getComputedStyle(obj)[attr];}
遇到css中用“-”连接起来的属性,在js中应使用驼峰命名法来规范我们的代码。
getStyle(oDiv1,"background-color");getStyle(oDiv1,"backgroundColor");//两者都是IE返回#cfcfcf;标准浏览器返回rgb(207, 207, 207);//建议写第二个getStyle(oDiv1,"background");//此处IE警告和火狐瞎了,chrome返回符符合样式:rgb(207, 207, 207) none repeat scroll 0% 0% / auto padding-box border-box
不要获取未设置的样式 : 不兼容啊
getStyle(oDiv1,"marginTop");//IE返回auto;标准浏览器返回0px;
嗯。。最后。。getComputedStyle可以有两个参数,主要就是为了兼容火狐4.0之前的版本,默默地看了看一连网就自动更新的火狐君。56.0.1。。╭(╯^╰)╮省略省略掉。。
睡觉,梦里去西安吃羊肉泡馍~~
阅读全文
0 0
- javascript获取元素样式
- 如何获取元素样式
- 获取元素的样式
- 获取DOM元素样式
- js获取元素样式
- 获取元素样式
- JS获取元素样式
- JS获取元素样式
- js获取元素样式嵌入css样式
- 获取元素的真正样式
- 原生js获取元素样式
- 原生js获取元素样式
- 原生javascript获取元素样式
- js 获取元素css样式
- 兼容写法获取元素样式
- 原生js获取元素样式
- 获取页面元素的style中的样式
- js正确获取元素样式详解
- 【JZOJ5416】密码(口胡)
- 反射
- SSM简单整合(Spring+SpringMVC+Mybatis)
- 面向接口编程 一
- opencv学习之Canny算子
- 获取元素样式
- java语言程序设计 第十二章 (12.11、12.12、12.13、12.14)
- Java集合详解
- tomcat 部署多个项目
- 洛谷 P1122 最大子树和
- 求二叉树的深度
- Github生成SSH key并加入管理
- HDU1452:Happy 2004(数论 & 唯一分解)
- 卡片-问题和答案