1.对于内联样式,可以直接使用ele.style.属性名(当然也可以用键值对的方式)获得。注意在CSS中单词之间用-连接,在JS中要用驼峰命名法

<div id="dv" style="width: 100px;height: 200px;background-color: pink; border: 1px solid green;"></div>
<script>
var dv = document.getElementById("dv");
console.log(dv.style.width); //100px
console.log(dv.style["height"]);//200px
console.log(dv.style.backgroundColor);//pink
console.log(dv.style.border);//1px solid green
</script>

2.对于外联样式表或者头部的style标签内的样式表里的样式内容,用上面的方法无法获得

可以使用js中的window.getComputedStyle(element,pseudoElement).属性名的方法获得。获取的样式是元素在浏览器中最终渲染效果的样式。

其中window.可以省略

其中pseudoElement: 可选,伪类元素,当不查询伪类元素的时候可以忽略或者传入 null。

<style>
#dv2{
width: 100px;
height: 200px;
background-color: #0086b3;
border: 1px solid red;
}
</style>
<div id="dv2" style="border-color: black"></div>
<script>
var dv2 = document.getElementById("dv2");
console.log(dv2.style["height"]);//空值,没有内联该样式无法获取
console.log(dv2.style.backgroundColor);//空值,没有内联该样式无法获取
console.log(window.getComputedStyle(dv2,null).width);//100px
console.log(getComputedStyle(dv2,null).backgroundColor);//rgb(0, 134, 179)
console.log(getComputedStyle(dv2,null).border); //1px solid rgb(255, 0, 0),内联样式修改成了黑色,内联的权重更高。
console.log(getComputedStyle(dv2,null)["border"]); //1px solid rgb(255, 0, 0)键值对的方式当然也行 </script>

3.修改CSS样式,只能通过ele.style.属性名的方式修改CSS样式,不能通过getComputedStyle()的方法修改。

JS中获取CSS样式的方法的更多相关文章

  1. js中获取css样式属性值

    关于js中style,currentStyle和getComputedStyle几个注意的地方 (1)用js的style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的.针对css ...

  2. js中获取css样式的两种方式

    1. 对象.style.样式名  弊端就是只能获取行内样式 2.window.getComputedStyle(对象,null); 最好用第二种方式 <!DOCTYPE html> < ...

  3. js中获取css属性

    直接获取 window.onload = function() { var but = document.getElementById('button'); var div = document.ge ...

  4. JQuery中操作Css样式的方法

    JQuery中操作Css样式的方法//1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#tw ...

  5. 【转发】JQuery中操作Css样式的方法

    JQuery中操作Css样式的方法 //1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#t ...

  6. 重温JavaScript获取CSS样式的方法(兼容各浏览器)

    众所周知,CSS样式有三种类型:行内样式.内部样式和外部样式,JavaScript获取CSS样式时分为两种情况:行内样式获取法 和 非行内样式获取法 . 一.行内样式获取相对简单,通过element. ...

  7. js 设置 获取css样式

    先看一段代码,为了体现一会下面说的js用style获取css样式的不同 一:给div设置margin-left(用style设置css样式没什么问题) box.style.marginLeft=&qu ...

  8. 为什么我获取不到这个css样式?js原生获取css样式总结

    还是自己遇到的一个坑的总结吧!与其说是坑不如说自己学艺不精,让我先哭一会!! 需求 简单就是获取一个css的height (好吧 就是一个这么简单的需求) 实践 好吧 长时间的JQ 我已经对原生无能了 ...

  9. HTML文档中应用css样式的方法总结

    在HTML文档中应用css样式大致有三种方法:1.link标签链接外部样式表:2.使用style元素包含样式表:3.使用style属性,即内联样式 一.link标签链接外部样式表 先看一条较为标准的l ...

随机推荐

  1. Python下划线简介

    Python中下划线的5种含义 分享一篇文章:The Meaning of Underscores in Python. 本文介绍了Python中单下划线和双下划线("dunder" ...

  2. LeetCode Smallest Range

    数据范围是3500,3500也就是说n的平方是可以接受的.这里告诉你就是有序的,也就是在提醒你可能会是一个类似于二分的算法,所以的话其实基于这两个认识的话我们就可以利用一个枚举叫二分的算法来解决这道题 ...

  3. OpenTSDB/HBase的调优过程整理

    背景 过年前,寂寞哥给我三台机器,说搞个新的openTSDB集群.机器硬件是8核16G内存.3个146G磁盘做数据盘. 我说这太抠了,寂寞哥说之前的TSDB集群运行了两年,4台同样配置的机器,目前hd ...

  4. mysql学习笔记--数据库内置函数

    一.数字类 1. 生成随机数:rand() a. 随机抽取2位 select * from stuinfo order by rand() limit 2 2. 四舍五入:round(数字) 3. 向 ...

  5. RabbitMQ 1

    RabbitMQ能做些什么? 消息系统允许软件.应用相互连接和扩展.这些应用可以相互链接起来组成一个更大的应用,或者将用户设备和数据进行连接.消息系统通过将消息的发送和接收分离来实现应用程序的异步和解 ...

  6. 29. Divide Two Integers (JAVA)

    Given two integers dividend and divisor, divide two integers without using multiplication, division ...

  7. Visual Studio Installer 使用案例

    1.创建自定义操作 一步:新建“安装程序类”文件 2.重写函数: public override void Install(IDictionary stateSaver) { base.Install ...

  8. touch.js 手机端的操作手势

    使用原生的touchstart总是单击.长按有冒泡冲突事件,发现百度在几年开源的touch.js库,放在现在来解决手机端的操作手势,仍然很好用.

  9. HTTP协议之url详解

    HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接.URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息 URL,全称是U ...

  10. 一次HTTP请求响应涉及了哪些?

    HTTP请求和响应步骤 TCP/IP协议 TCP三次握手 HTTP协议 HTTP请求报文 HTTP响应报文 TCP四次挥手 HTTP请求和响应步骤 以上完整表示了HTTP请求和响应的7个步骤,下面从T ...