js知识点总结之getComputedStyle的用法

 更新时间:2022年10月18日 09:53:22   作者:时雨.`  
getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值,下面这篇文章主要给大家介绍了关于js知识点总结之getComputedStyle用法的相关资料,需要的朋友可以参考下

getComputedStyle()这个方法来获取元素当前的样式

这个方法是window的方法,可以直接使用

需要两个参数

  • 第一个:要获取样式的元素
  • 第二个:可以传递一个伪元素,一般都传null

该方法会返回一个对象,对象中封装了当前元素对应的样式

1.可以通过 getComputedStyle(对象,null).样式名 的形式来读取样式

如果获取的样式没有设置,则会获取到真实的值,而不是默认值

比如:没有设置width,它不会获取到auto,而是一个长度

2.为了更方便的使用 可以加入正则表达式获取样式名

利用 getComputedStyle(样式元素,null)[样式名] 的形式来获取样式

下面举个例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        #box1{
            width: 100px;
            height: 100px;
            background-color: red;
            left: 100px;
            position: absolute;
        }
    </style>
    <script>
        window.onload=function(){
            //获取box1元素节点对象
            var box1=document.getElementById("box1");
            //这里调用getComputedStyle来获取left的值
            var left=getComputedStyle(box1,null)["left"]; 
            alert("left的值是"+left);         
            }
        }
    </script>
</head>
<body>
    <div id="box1"></div>
</body>
</html>

可以看到这里是获取box1元素的left属性,我们设置的属性是100px,

运行结果如下:

补充:getComputedStyle与style的区别

我们使用element.style也可以获取元素的CSS样式声明对象,但是其与getComputedStyle方法还有有一些差异的(只读与可写)。

1、正如上面提到的getComputedStyle方法是只读的,只能获取样式,不能设置;而element.style能读能写,能屈能伸。

2、获取的对象范围getComputedStyle方法获取的是最终应用在元素上的所有CSS属性对象(即使没有CSS代码,也会把默认的祖宗八代都显示出来);

而element.style只能获取元素style属性中的CSS样式。因此对于一个光秃秃的元素<p>,getComputedStyle方法返回对象中length属性值

(如果有)就是190+, 而element.style就是0。

总结

到此这篇关于js知识点总结之getComputedStyle用法的文章就介绍到这了,更多相关js getComputedStyle用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js判断非127开头的IP地址的实例代码

    js判断非127开头的IP地址的实例代码

    这篇文章主要介绍了js判断非127开头的IP地址,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 使用javascript为网页增加夜间模式

    使用javascript为网页增加夜间模式

    如何给Web页面增加夜间模式功能? 其实所谓的夜间模式就是在页面上增加一个透明的遮罩层,但是遮罩层会挡住页面元素, 解决方法是 添加DIV,给DIV的outline属性一个很大的outline-width值,用outline的边框作为遮罩,这样既能正常点击页面元素,又能达到夜间模式的效果
    2014-01-01
  • 常见效果实现之返回顶部(结合淡入、淡出、减速滚动)

    常见效果实现之返回顶部(结合淡入、淡出、减速滚动)

    返回顶部是经常会见到的效果,代码比较简单,使用2个对象和一个主函数。职责明确方便复用
    2012-01-01
  • redux.js详解及基本使用

    redux.js详解及基本使用

    Redux我们可以把它理解成一个状态管理器,可以把状态(数据)存在Redux中,以便增、删、改。这篇文章主要介绍了redux.js详解及基本使用,需要的朋友可以参考下
    2019-05-05
  • 原生JS实现自定义下拉单选选择框功能

    原生JS实现自定义下拉单选选择框功能

    最近,把项目中用到的下拉框组件重新封装了一下,以构造函数的方式进行封装,主要方法和事件定义在原型上,下面是主要的实现代码并添加了比较详细的注释,分享出来供大家参考
    2018-10-10
  • 浅谈一种让小程序支持JSX语法的新思路

    浅谈一种让小程序支持JSX语法的新思路

    这篇文章主要介绍了浅谈一种让小程序支持JSX语法的新思路,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • 通过js给网页加上水印背景实例

    通过js给网页加上水印背景实例

    这篇文章主要介绍了通过js给网页加上水印背景实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • js 判断图片是否加载完以及实现图片的预下载

    js 判断图片是否加载完以及实现图片的预下载

    这篇文章主要介绍了js 判断图片是否加载完以及实现图片的预下载,需要的朋友可以参考下
    2014-08-08
  • JavaScript定时显示广告代码分享

    JavaScript定时显示广告代码分享

    这篇文章主要介绍了JavaScript定时显示广告代码分享,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03
  • JavaScript进阶(一)变量声明提升实例分析

    JavaScript进阶(一)变量声明提升实例分析

    这篇文章主要介绍了JavaScript变量声明提升,结合实例形式分析了JavaScript变量声明提升相关原理、用法与操作注意事项,需要的朋友可以参考下
    2020-05-05

最新评论