MDN对于element.style的解释

被高光的句子中的inline style属性是指css内联样式,即元素的style属性的属性值

总结一下,element.style只能获取到元素的style属性的属性值,并且可以更改,比如我们可以使用testDiv.style.backgroundColor = "blue"把testDiv的背景颜色改成蓝色

在我们使用testDiv.style.backgroundColor = "blue"后,testDiv所对应的元素的style属性的属性值会多出background-color: blue;

小编对于element.style的实验

<div id="testDiv" style="width: 100px;border: 1px solid #000"></div>
#testDiv {
height: 200px;
background-color: #000;
}

根据实验得知,element.style只能获取css内联样式,即style属性的属性值

接下来我们重置一下testDiv的背景颜色

当我们使用完testDiv.style.backgroundColor = "blue"后,发现testDiv的style属性的属性值中多了一条background-color: blue;

并且我们可以在控制台通过testDiv.style.backgoundColor获取testDiv的背景颜色

我们再在css中设置一下testDiv的background-color,如下图

我们再获取一下

很神奇啊,还是blue,这是为什么呢?

因为testDiv.style.backgoundColor只能获取testDiv的style属性里的背景颜色,而我设置的是非内联的css样式

菜鸟教程对于window.getComputedStyle()的解释

window.getComputedStyle()读取最终的样式,支持内联样式、嵌入样式和外部样式

但是window.getComputedStyle()是只读的,不能修改样式

注意:获取元素float值时,要用cssFloat(两者都是)

小编对于window.getComputedStyle()的实验

window.getComputedStyle()可以获取元素的所有样式

因此,建议获取的时候详细到我们想获取的样式,比如想获取字体的font-family,我们就可以用window.getComputedStyle(元素).fontFamily

我们在控制台更改一下halfTitle的color

原本的color值为rgb(255, 255, 255)

更改后

综上所述,window.getComputedStyle()获取的是实时的值

总结

不论是element.style还是window.getComputedStyle(),获取元素的float时,需要用cssFloat,比如title.style.cssFloatwindow.getComputedStyle(title).cssFloat

元素.style.样式名

用于修改元素的样式,并且返回css内联样式

仅仅能获取css内联样式(行内样式)

window.getComputedStyle(元素).样式名

用于获取元素实时的值,不能修改

能把元素当时的所有样式全部问出来

建议获取的时候详细到我们想获取的样式,比如想获取字体的font-family,我们就可以用window.getComputedStyle(元素).fontFamily

浅谈JS中的element.style和window.getComputedStyle()的区别的更多相关文章

  1. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  2. 浅谈JS中的!=、== 、!==、===的用法和区别

    var num = 1;     var str = '1';     var test = 1;     test == num  //true 相同类型 相同值     test === num ...

  3. 浅谈JS中的闭包

    浅谈JS中的闭包 在介绍闭包之前,我先介绍点JS的基础知识,下面的基础知识会充分的帮助你理解闭包.那么接下来先看下变量的作用域. 变量的作用域 变量共有两种,一种为全局变量,一种为局部变量.那么全局变 ...

  4. 浅谈JS中 var let const 变量声明

    浅谈JS中 var let const 变量声明 用var来声明变量会出现的问题: 1. 允许重复的变量声明:导致数据被覆盖 2. 变量提升:怪异的数据访问.闭包问题 3. 全局变量挂载到全局对象:全 ...

  5. 浅谈HTTP中GET、POST用法以及它们的区别

    浅谈HTTP中GET.POST用法以及它们的区别 HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符.我们可以这样认为: 一 ...

  6. 由项目浅谈JS中MVVM模式

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.    背景 最近项目原因使用了durandal.js和knock ...

  7. js架构设计模式——由项目浅谈JS中MVVM模式

    1.    背景 最近项目原因使用了durandal.js和knockout.js,颇有受益.决定写一个比较浅显的总结. 之前一直在用SpringMVC框架写后台,前台是用JSP+JS+标签库,算是很 ...

  8. Java基础学习总结(29)——浅谈Java中的Set、List、Map的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...

  9. 浅谈js中的数据类型,使用typeof获取js数据类型

    JS中的数据类型 1):Undefined——值未定义 注:Undefined类型只有一个值,即特色的undefined.在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined ...

  10. 浅谈js中的浅拷贝和深拷贝

    在js中如何把一个对象里的属性和方法复制给另一个对象呢? 下面举一个例子来说明: var person={name:'chen',age:18}; var son={sex:'男'}; functio ...

随机推荐

  1. sqlserver生成指定的序列

    WITH numbers AS ( SELECT 1 AS num UNION ALL SELECT num + 1 FROM numbers WHERE num < 30 ) SELECT C ...

  2. 【7】java之正则表达式

    一.正则标记 ​ 所有的正则可以使用的标记都在 java.util.regex.Pattern 类里定义. 1.1 单个字符 字符:表示由一位字符所组成: \\\\:表示转义字符"\\&qu ...

  3. WPF CommandParameter 传递多个参数的方法

    1.新建一个按钮内容如下 <Button Name="btnOK" Content="确定" Height="20" Width=&q ...

  4. 部署mall电商系统踩坑记录

    一. mysql docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/d ...

  5. 阿里云服务器 jdk1.8 安装配置

     阿里云服务器 jdk1.8 安装配置 下载/上传 jdk安装包 解压到指定目录 重命名解压后的文件夹名称 配置环境变量 验证JAVA环境是否安装成功 step 0.安装包准备 1 wget --no ...

  6. 清除Linux登录记录

    CentOS cat /dev/null > /var/log/wtmp cat /dev/null > /var/log/btmp cat /dev/null > /var/log ...

  7. shell脚本:报错syntax error near unexpected token `$'\r''解决方法

    之前的shell脚本是在服务器上编写的,后来又已复制的方式存在在了电脑上,以txt文件的形式存放的.于是复制到了编辑工具中,进行了相应项的修改.修改完毕后,拿到服务器上测试,结果执行sh XXX.sh ...

  8. K8S部署之kubeadm

    K8S部署笔记 一.集群环境说明 主机名 IP地址 说明 k8s-master01 192.168.1.107 master节点 k8s-master02 192.168.1.108 master节点 ...

  9. ue4中动画通知的几种方式

    原创:蝶泳奈何桥 animation blueprint中的几种notify,神马通知碰撞开启关闭的东东都可以使用notify 1.简单的通知(blueprint) 直接在sequence or mo ...

  10. 成都信息工程大学第八届校赛 H J 题解

    H. Bang Bang Keli Ba 题目大意 给定数组 \(a\) ,构造递增序列 \(b\) 和递减序列 \(c\) 且 \(a_i=b_i+c_i\) . 题解 下面证明解的存在性,存在性证 ...