js无法获取css元素

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
		#div1,div{
			float: left;
			width: 100px;
			height: 100px;
			background: red;
			margin-right: 20px;
		}
	</style>
</head>
<body>
	<div id="div1" style="color:black;">111</div>

	<script type="text/javascript">
        let oDiv=document.getElenmentById('div1');

        console.log(oDiv.style.color,'颜色')       //black 颜色
        console.log(oDiv.style.width,'宽度')		 // 宽度
    </script>

无法获取oDiv.style.width

  • element.style 读取的只是元素的内联样式,即写在元素的 style 属性上的样式;而 getComputedStyle 读取的样式是最终样式,包括了内联样式嵌入样式外部样式

  • element.style 既支持读也支持写,我们通过 element.style 即可改写元素的样式。而 getComputedStyle 仅支持读并不支持写入。我们可以通过使用 getComputedStyle 读取样式,通过 element.style 修改样式

  • 我们可以通过使用 getComputedStyle读取样式,通过element.style修改样式。

  • ie浏览器下就是用oDiv1.currentStyle、在谷歌浏览器获取内部和外部样式getComputedStyle

如果需要调用样式的话

一般需要设置兼容性

function getStyleValue(obj,attr){
				if(obj.currentStyle){
					return obj.currentStyle[attr]
				}else{
					return getComputedStyle(obj,false)[attr]
				}
			}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值