在使用jQuery操作伪类元素将其变换样式的时候,jQuery并不能直接操作伪类before和after元素,所以提供了一种思路将这两种伪类元素进行替换成标签的形式,从而jQuery直接操作标签进行修改样式就可以了,简单且易操作。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>伪类的替换思路</title>
<style type="text/css">
div p {
display: block;
width: 300px;
height: 30px;
position: relative;
}
div p span {
display: block;
margin-left: 20px;
margin-right: 20px;
}
div .before:before {
display: block;
content: '';
width: 10px;
height: 10px;
border: 1px solid #2c3e50;
position: absolute;
}
div .after:after {
display: block;
content: '';
width: 10px;
height: 10px;
border: 1px solid #2c3e50;
position: absolute;
}
/* 根据样式替换掉伪类before和after的效果 */
div .beforeI i {
display: block;
content: '';
width: 10px;
height: 10px;
border: 1px solid #2c3e50;
position: absolute;
}
div .afterI i {
display: block;
content: '';
width: 10px;
height: 10px;
border: 1px solid #2c3e50;
position: absolute;
}
</style>
</head>
<body>
<div>
<p class="before">
<span>++伪类 :before++</span>
</p>
<p class="after">
<span>++伪类:after++</span>
</p>
</div>
<div>
<p class="beforeI">
<i></i><span>++伪类 :beforeI++</span>
</p>
<p class="afterI">
<span>++伪类:afterI++</span><i></i>
</p>
</div>
</body>
</html>
下面是上面代码的效果图,伪类和标签的效果是一致的。