我正在尝试改变颜色:之后,使用JQuery虽然我似乎无法改变它,但是有人能指出我正确的方向吗?
<script>
$( document ).ready(function() {
$( ".breadcrumb li:nth-child(1) a" ).css({'background-color' : '#f00'}); // Works
$( ".breadcrumb li:nth-child(1):after " ).css({'background-color' : '#f00'}); // Does not work?
});
</script>
我尝试过使用一些选择器,但我找不到正确的选择器。提前谢谢。
答案 0 :(得分:3)
你无法操纵:之后,因为它在技术上不是DOM的一部分,因此任何JavaScript都无法访问它。但是你可以添加一个新的类:在指定之后。
CSS
.breadcrumb li:nth-child(1) .test:after {
border-top-width: 22px;
border-left-width: 22px;
border-right-width: 22px;
}
JS
$('.breadcrumb li:nth-child(1)').toggleClass('test');
答案 1 :(得分:1)
试试这个,
<强> CSS 强>
.li-active-after a{background-color : #f00; }
.li-active-after:after{background-color : #f00; }
<强> Jquery的强>
$( document ).ready(function() {
$(".breadcrumb li").removeClass('li-active-after');
$(".breadcrumb li:nth-child(1)").addClass('li-active-after');
});
答案 2 :(得分:0)
您无法使用JQuery更改(:after)的样式。但你可以通过在你使用的DIV之后在HTML中插入DIV来解决它,然后你可以使用JQuery来处理它
<div class="mydiv_1"></div> <div class="after_div"></div>
<div class="mydiv_2"></div> <div class="after_div"></div>
您可以将此示例改编为您的代码/脚本;)
答案 3 :(得分:0)
而不是添加另一个div来替换:在使用其他选择器之后,只需使用类就可以有更好的解决方案。这是jsfiddle
点击灰色框,它会为div添加class
,这将更改其:after
的颜色