JS DOM之操作CSS属性

JS DOM之操作CSS属性

  • 1.获取CSS属性值
  • 2.设置CSS属性值
    • style对象
    • cssText属性

1.获取CSS属性值

在JavaScript中,我们可以使用getComputedStyle()方法来获取一个CSS属性的取值

语法:

getComputedStyle(obj).attr

bj表示DOM对象,也就是通过getElementById()、getElementsByTagName()等方法获取的元素节点

attr表示CSS属性名。需要注意的是,这里的属性名使用的是“骆驼峰型”的CSS属性名。如font-size应该写成fontSize,border-bottom-width应该写成borderBottomWidth

案例:

DOCTYPE html>
<html>
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>TEXTtitle><style type="text/css">#box {width: 100px;height: 100px;background-color: hotpink;}style><script src="js/index.js">script>
head>
<body><input type="button" id="btn" value="获取颜色"/><div id="box">div>
body>
html>
window.onload=function () {var oBtn = document.getElementById("btn");var oBox = document.getElementById("box");oBtn.onclick = function() {alert(getComputedStyle(oBox).backgroundColor);};
}

点击获取颜色后,后弹出当前div的背景颜色信息,成功获取了CSS的属性信息:

在这里插入图片描述


2.设置CSS属性值

在JavaScript中,想要设置一个CSS属性的值,有两种方式可以实现。style对象。cssText属性。

style对象

使用style对象来设置一个CSS属性的值,其实就是在元素的style属性中添加样式,这种方式设置的是“行内样式”

例如,我们想实现一个div点击变色的功能:

window.onload=function () {var oBtn = document.getElementById("btn");var oBox = document.getElementById("box");oBtn.onclick = function() {oBox.style.backgroundColor = "red";};
}

如果想要为上面的div元素同时添加多个样式,实现代码如下:

width:50px;height:50px;background-color:lightskyblue;

如果用style来实现,就得一个个写:

oDiv.style.width="50px";
oDiv.style.depth="50px";
oDiv.style.backgroundColor="lightskyblue";

一个个写十分烦琐。那么,有没有一种相对高效的实现方式呢?当然有,那就是cssText属性

cssText属性

注意,这个字符串中的属性名不再使用骆驼峰型的写法,而是使用平常的CSS写法😽

例如:

window.onload=function () {var oBtn = document.getElementById("btn");var oBox = document.getElementById("box");oBtn.onclick = function() {oBox.style.cssText = "background-color:blue;width:200px;height:200px;"};
}

当我们点击按钮之后,不仅背景颜色会发生改变,div块的大小也会发生改变

在实际开发的时候,如果要为一个元素同时设置多个CSS属性,我们很少使用cssText来实现,而更倾向于使用操作HTML属性的方式给元素加上一个class属性值,从而整体地给元素添加上样式🙀


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部