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

发表时间
评论 没有

CSS的伪元素::after、::before伪元素很有用。但是伪元素(pseudo elements)不是DOM元素,因此无法通过jQuery直接选择到它们。

假设有如下HTML代码:

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

和CSS代码:

.techbrood:before {
  width: 0;
}

现在想在某个元素的click事件中动态的把techbrood:before的width属性设置为100%,
有两个方法,一个是添加新的样式:

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

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

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

.techbrood.change:before{
width: 100%;
}

jQuery代码:

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

两种方法各有利弊,根据用途选择。

作者
分类 网站建设

评论

本文评论功能已关闭。

← 较早的 较新的 →

相关文章