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. pat乙级 1017 A除以B 模拟除法

    #include <stdio.h> #define MAX_A 1000 int A[MAX_A]; int B; /* 除数 */ int num; /* A 被除数有多少位 */ v ...

  2. CF468E Permanent 题解

    考虑暴力状压 DP. 按行 DP,记录列哪些被选过,可以做到 \(O(2^kk^2)\). 注意到某一列扫完了之后这一列选没选过不重要,可以减少这里的状态. 简单优化一下,每次选择最少的一列,使这一列 ...

  3. 关于tensor2tensor与tensorflow版本冲突的解决方案

    工作需要,研究了几天的t2t,万万没想到在虚拟环境的搭建方面出现了问题. 直接安装t2t,当前是1.15.7版本,默认会安装tensorflow的最新版本,最终会在执行t2t-trainer命令的时候 ...

  4. JAVA线段树模板

    public class LineTree{ int[] tree,nums; int n; public LineTree(int[] nums){ this.nums = nums; n = nu ...

  5. sping入门介绍-bean标签的属性

    bean标签的属性 1 .基础属性 <bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl" ...

  6. 【随手记】Burp Suite 设置HTTP2

    Burp Suite 设置HTTP2

  7. vue中组件传值的几种方式

    一.父组件给子组件传值方式(步骤) 1.VC1(子组件)定义props[a,b,c] 注意:props中的每个值都可以加各种修饰,如数据类型,是否可为空,默认值... 2.VC2(父组件)引用子组件 ...

  8. python菜鸟学习: 15 GUI界面化记事本

    # -*- coding: utf-8 -*-import tkinter as tkdef getNewCreate(): passdef getCharcount1(sss): # 添加字数统 s ...

  9. JS-变量存储

    1.存储(变量)JS中变量是存在栈内存中JS中的内存分两种:栈内存.堆内存 栈内存:存放变量 堆内存:存代码块(object和function) var fn=function()和function ...

  10. Python 切片/列表/字符串之间装换

    1. 怎么实现字符串变为list 使用split(),把字符串拆分再存入数组: 例子 input="ni si shi" output=input.split(" &qu ...