【JavaScript】使用DOM修改和查询CSS内联样式

简介: 在上几期都是说通过DOM来操作元素。现在我们具体说一下怎样操作CSS样式,无非就是修改样式和查找样式。

修改样式

语法:元素名.style.样式名 = "样式值"

html:

<div id="box1">
    <button id="bt1">点我改变样式</button>
    <button id="bt2">点击查看样式</button>
</div>

css:

#box1{
        width: 100px;
        height: 100px;
        background-color: aquamarine;
    }

javascript:

注意:css样式名中有-号,在js中是不合规范的,比如这里的background-color,在js中需要用驼峰命名法表示,即backgroundColor来表示。修改其他属性也是如此。

window.onload = function(){
    //获取box1
    var box1 = document.getElementById('box1');
    //获取bt1
    var bt1 = document.getElementById('bt1');
    //添加单击响应函数
    bt1.onclick = function(){
        //修改宽度
        box1.style.width = '300px';
        box1.style.height = '300px';
        box1.style.backgroundColor = 'lightblue';
    }
}

我们通过这种方式实际上是对内联样式进行修改,而内联样式的优先级是大于样式表的样式的,因此,此方法会直接覆盖掉样式表的样式。

2e2d0fd726d547739d62f7598c1fea1f.gif

image.png

查找样式值

  • 第一种方法:

语法:元素名.style.样式名

window.onload = function(){
    //获取box1
    var box1 = document.getElementById('box1');
    //获取bt2
    var bt2 = document.getElementById('bt2');
    //添加单击响应函数
    bt2.onclick = function(){
      //查看内联样式
        alert(box1.style.width);
        alert(box1.style.height);
        alert(box1.style.backgroundColor);
    }
}

直接获取样式值。缺点:这种方法只能获取到css的内联样式,获取不到样式表中的样式。

如图:974ac38ce4c24cb88bb5bdcafc70793c.gif

  • 第二种方法

语法:getComputedStyle(要获取样式的元素,伪元素(一般都传入null值))

此方法返回的是一个对象,要获取样式值则需要通过这个方法去调用属性

window.onload = function(){
    //获取box1
    var box1 = document.getElementById('box1');
    //获取bt2
    var bt2 = document.getElementById('bt2');
    //添加单击响应函数
    bt2.onclick = function(){
      //查看当前样式
     var obj = getComputedStyle(box1,null);
     alert(obj.width);
     alert(obj.height);
     alert(obj.backgroundColor);
    }
}

此方法可以获取到你当前生效的css样式值,无论是内联样式亦或者是css样式表内的样式。颜色返回的是rgb格式。

7da65af694b846258c7b24cbaa5f2cc2.gif



相关文章
|
JavaScript 前端开发 开发者
微软提议对 JavaScript 进行重大修改:将添加类型标注(Type Annotations)
微软提议对 JavaScript 进行重大修改:将添加类型标注(Type Annotations)
118 0
微软提议对 JavaScript 进行重大修改:将添加类型标注(Type Annotations)
|
JavaScript 前端开发
Javascript知识【轮播图和定时弹广告案例&JS样式修改】
两个案例:轮播图和定时弹广告以及JS样式修改
Javascript知识【轮播图和定时弹广告案例&JS样式修改】
|
JavaScript 前端开发
web前端学习(三十九)——JavaScript DOM简介、通过DOM修改HTML、CSS
web前端学习(三十九)——JavaScript DOM简介、通过DOM修改HTML、CSS
web前端学习(三十九)——JavaScript DOM简介、通过DOM修改HTML、CSS
|
JavaScript 前端开发
学习javaScript必知必会(7)~Object类、修改this指向、继承关系
学习javaScript必知必会(7)~Object类、修改this指向、继承关系
139 0
学习javaScript必知必会(7)~Object类、修改this指向、继承关系
|
前端开发 JavaScript
【JavaScript】动态修改元素的 background-image
【JavaScript】动态修改元素的 background-image
1010 0
|
JavaScript 前端开发 HTML5
Javascript 修改 input 验证提示
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82876619 ...
1757 0
|
JavaScript 前端开发 Python
从零开始学_JavaScript_系列(九)——dojo(2)(AJAX、时间控件、鼠标事件、样式修改、事件移除、消息发布订阅)
如果没有接触过dojo,建议阅读: http://blog.csdn.net/qq20004604/article/details/51028702 里面介绍了如何加载dojo。 关于dojo的下载,请查看: https://dojotoolkit.org/download/ 建议下载FULL SOURCE版 如果需要讨论,请评论、或者站内信,我会尽快回复。
2800 0