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,
运行结果如下: