JavaScript-获取dom对象的css伪元素的属性

window.getComputedStyle(ele,null)

这个函数可以获取dom对象的css的显示的属性。函数的第二个参数基本上直接填了null,而这个参数实际上就是解决伪元素的。

window.getComputedStyle(ele,'after');

window.getComputedStyle(ele,'before');

看如下代码:

        <div class="demo"> </div>
        <script type="text/javascript">
           var div=document.getElementsByTagName('div')[0];
           
        </script>
.demo{
    width:100px;
    height:100px;
    background-color:red;
    display:inline-block;
}
.demo::after{
    content:"";
    width:10px;
    height:10px;
    display:inline-block;
    background-color:green;
}

我可以通过上面的方法获得div的after伪元素的css属性

比较多吧,基本上所有的css属性都出现了,这个是一个类数组吧,满足数组和对象的特点。

我们看看有没有我们设置的属性。

的确都是存在的。rgb(0,128,0)就是green,有一点值得注意的是,因为‘-’并不是js识别的字符,这个不是下划线,所以对于这样的用小驼峰式就好了。


有一点值得注意,伪元素的属性,通过这样的方法是不可能改的

只可以读,不可以写。

但是我想改一下伪元素的属性怎么办了。

譬如这个我点击这红色的div,然后把div::after就是这个绿色的变成橙色的。

咋搞?

改值不存在的。

看如下代码:

        <div class="demo" > </div>
        <script type="text/javascript">
           var div=document.getElementsByTagName('div')[0];
           div.οnclick=function() {
               div.className='demo1';
           }
        </script>
.demo{
    width:100px;
    height:100px;
    background-color:red;
    display:inline-block;
}
.demo::after{
    content:"";
    width:10px;
    height:10px;
    display:inline-block;
    background-color:green;
}
.demo1{
    width:100px;
    height:100px;
    background-color:red;
    display:inline-block;
}
.demo1::after{
    content:"";
    width:10px;
    height:10px;
    display:inline-block;
    background-color:orange;
}

我们把div的class换了,然后自动就会选择.demo1::after咯,

方法很笨,还有有用的。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值