通过js读取元素的样式
/*
* 通过元素.style.样式只能获取到内联样式的值,就是style写在元素里面的值,不能获取嵌入式和外联样式的值
* 所以如果要获取除内联样式后的值,就不能通过这个获取
* alert(box1.style.height)
* 还有其他的形式,比如获取元素当前显示的样式,就是不管是外联还是嵌入式还是内联,谁显示就是获取谁的样式
* 语法:元素.currentStyle.样式名
* 他可以读取当前元素正在显示的样式
* alert(box1.currentStyle.width);
* 这个只有IE支持,其他浏览器都不支持。
* 在其他浏览器中可以使用getComputedStyle()这个方法来获取当前元素的样式
* 这个是window的方法,可以直接使用
* 语法:
* 需要两个参数:
* 第一个:要获取样式的元素
* 第二个:可以传递一个伪元素,一般都传null。
* 该方法会返回一个对象,对象中封装了当前元素对应的样式
* 可以通过对象.样式名来读取样式
* 如果获取的样式没有设置,则会获取到真实的值,而不是默认值
* 比如没有设置width,他不会获得auto,而是一个实际上的值。
* 而IE的话,不设置会默认auto
* 但是该方法不支持IE8及以下浏览器
* 如果为了兼容两个,那么就定义一个函数来兼容两个都可以,就是类似弄一个判断包含在里面
*
* 通过currentStyle和getComputedStyle()读取到的样式都是只读的
* 不能修改,如果要修改必须通过style属性。
*/
function getStyle(obj,name){
//获取属性可以通过.,也可以通过中括号,这里.不适合,中括号才适合
//正常浏览器的方式,具有getComputedStyle方法
getComputedStyle(obj,null)[name]
//要加window,否则是个变量,到时候会报错
if(window.getComputedStyle){
return getComputedStyle(obj,null)[name]
}else{
//IE浏览器,具有currentStyle方法
return obj.currentStyle[name]
}
//第二种方式可以通过三元运算符
window.getComputedStyle?getComputedStyle(obj,null)[name]:obj.currentStyle[name]
}
通过js读取元素的样式的更多相关文章
- 原生js获取元素的样式信息
工作中经常会需要获取DOM元素的样式,之前都是通过jquery的css()方法,现在总结一下通过原生js获取元素样式的方法. obj.style js var _width = obj.style.w ...
- js实现元素添加样式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js给元素添加样式[addClass][hasClass]
function addClass(el, className) { if (hasClass(el, className)) { return } let newClass = el.classNa ...
- js兼容获取元素的样式
js获取元素的样式的兼容性处理: function getStyle(obj,attr){ return obj.currentStyle?obj.currentStyle[attr]:getComp ...
- 用JS改变的元素CSS样式,css里display :none 隐藏 block 显示
CSS样式的引用有3种方式:style引用.class引用.id引用,所以js改变元素的样式我们也分3种来说. 1.js改变由style方式引用的样式:方法一:document.divs.style. ...
- 通过JS动态的修改HTML元素的样式和增添标签元素等
一. 通过JS动态的修改HTML元素的样式 1. 要想在js中动态的修改HTML元素的样式,首先需要写document, document我们称之为文档对象,这个对象中保存了当前网页中所有的 ...
- 原生js获取元素样式
摘要: 我们在开发过程中经常会遇到通过js获取或者改变DOM元素的样式,方法有很多,比如:通过更改DOM元素的class.现在我们讨论原生js来获取DOM元素的CSS样式,注意是获取不是设置 在开始之 ...
- js获取元素的外链样式
一般给元素设置行内样式,如<div id="div1" style="width:500px;"></div>.如要获取它的样式,即可d ...
- (知识点)JS中获取元素的样式
首先我们已经知道了JavaScript如果获取一个元素的内部样式,你可以这样做: <div id="box" style="width:100px;height:1 ...
随机推荐
- Hadoop分布式集群搭建_1
Hadoop是一个开源的分布式系统框架 一.集群准备 1. 三台虚拟机,操作系统Centos7,三台主机名分别为k1,k2,k3,NAT模式 2.节点分布 k1: NameNode DataNode ...
- Java学习笔记二十九:一个Java面向对象的小练习
一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...
- 使用nohup或者tmux将程序挂在后台
程序挂在后台 nohup nohup 命令 & 这样的命令会将屏幕的输出重定向到同目录的nohup.out中,可以使用 > 来重定向输出. nohup 命令 > .log & ...
- structc 开源框架简介
了解 structc-https://github.com/wangzhione/structc structc 是 C 构建基础项目框架. 不是太惊艳, 但绝对是 C 简单项目中一股清流. 它的前身 ...
- POJ_1679_The Unique MST(次小生成树)
Description Given a connected undirected graph, tell if its minimum spanning tree is unique. Definit ...
- # 20155337 2016-2017-2 《Java程序设计》第五周学习总
20155337 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章 •语法与继承架构 •使用try.catch •特点: 使用try.catch语法,J ...
- 北京Uber优步司机奖励政策(4月12日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Java——基于java自身包实现消息系统间的通信(TCP/IP+BIO)
最近看到阿里的一位童鞋写的一本关于分布式的书,感觉不错,准备把这本书上基础的代码都写一写. /** * Created by LiuHuiChao on 2016/11/15. * descripti ...
- OpenStack入门篇(四)之KVM虚拟机介绍和管理
1.查看虚拟机,启动虚拟机 [root@linux-node1 ~]# virsh list --all Id Name State --------------------------------- ...
- [css 实践篇]CSS中的尺寸单位
绝对单位 px: Pixel 像素 pt: Points 磅 pc: Picas 派卡 in: Inches 英寸 mm: Millimeter 毫米 cm: Centimeter 厘米 q: Qua ...