JS DOM之操作CSS属性

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


1.获取CSS属性值


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

语法:


getComputedStyle(obj).attr


j表示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>TEXT</title>
    <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的属性信息


5b76a04999e44db58e0770a7bbe96ff5.png


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属性值,从而整体地给元素添加上样式🍟

目录
相关文章
|
11天前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
2月前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
105 33
|
3月前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
127 24
|
3月前
|
JavaScript 前端开发
页面滚动触发css3动画js插件
delighters.js是一款页面滚动触发css3动画js插件。该js插件可以在页面向下滚动时,为进入浏览器视口的元素制作各种炫酷的CSS3动画效果。
66 13
|
3月前
纸屑飘落生日蛋糕场景js+css3动画特效
纸屑飘落生日蛋糕CSS3动画特效是一款js+css3制作的全屏纸屑飘落,生日蛋糕点亮庆祝动画特效。
67 3
|
4月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
120 5
|
4月前
|
前端开发
CSS 浮动属性讲解和使用
本文介绍了CSS中的浮动(float)属性,包括其基本功能、属性选项及其在网页布局中的应用。浮动使元素脱离文档流,向左或右排列,周围元素随之调整。文章还详细讲解了清除浮动的方法,如使用clear属性、设置父元素高度、利用overflow属性、伪元素等,以解决因浮动导致的布局问题。最后,强调了浮动在创建复杂布局时的作用,并预告后续内容。
92 2
|
4月前
|
前端开发
CSS transition过渡属性详解
本文介绍了CSS中`transition`属性的作用、用法及实例。`transition`用于在元素属性变化时添加平滑过渡动画,通过设置`transition-property`、`transition-duration`、`transition-timing-function`和`transition-delay`等属性值,可以精细控制过渡效果。文末提供了HTML示例代码,展示了如何使用`transition`实现鼠标悬停时背景颜色的平滑变化。
195 1
|
4月前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
270 1
|
4月前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
85 3

热门文章

最新文章