是否可以使jQuery函数(addClass
和removeClass
)影响CSS中的:after
和:before
元素?
.accordion-heading > a:before {
background: url(../images/menuleftarrow.png) 98% center no-repeat;
}
.accordion-heading .accordion-toggle > a:after {
background: url(../images/menudownarrow.png) 98% center no-repeat;
}
答案 0 :(得分:3)
这不可能直接实现,因为DOM中不存在:before
和:after
等伪元素。
解决方法是在父元素上添加或删除类,然后使用它来键入CSS中的更改,如下所示:
$('.accordion-toggle a').addClass('foo');
.accordion-heading .accordion-toggle > a.foo:after {
background: none; /* hide the background */
}