jQuery修改CSS伪元素属性的方法

时间:2022-06-29 02:48:28

CSS伪元素(pseudo elements)不是DOM元素,因此你无法直接选择到它们。

假设有如下HTML代码:

?
1
<div class="techbrood" id="td_pseudo">techbrood introduction</div>

和CSS代码:

?
1
2
3
.techbrood:before {
width: 0;
}

现在你想在某个元素的click事件中动态的把techbrood:before的width属性设置为100%,

有两个方法,一个是添加新的样式:

?
1
$('head').append("<style>.techbrood::before{ width:100% }</style>");

(注意该方法将影响所有的class为techbrood的元素)

另外一个方法是为该元素添加新类,并通过设置新类的属性来达到改变伪元素属性的效果:

?
1
2
3
.techbrood.change:before{
width: 100%;
}

jQuery代码:

?
1
$('#td_pseudo').addClass("change");