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");
两种方法各有利弊,根据用途选择。
评论
本文评论功能已关闭。