小编典典

jQuery和隐藏:after /:before伪类

css

我尝试通过多种方式通过jQuery隐藏:after伪类,但没有成功,但我找到了另一种解决方案,方法是在div下添加一个包含:after内容的空div,然后将其完全隐藏,产生相同的效果。

但是我只是好奇是否有人设法找到一种隐藏:after或:before东西的方法。这是我尝试的无效的方法。

$('.search_box:after').hide();
$('.search_box:after').css('display', 'none');

只是为了给您提供上下文,我有一个包含搜索表单等的div,并且当搜索处于活动状态时,我想在div下启用一个小箭头指示器,该指针指向已找到项目的列表(通过CSS通过:after构建),并且一无所获,或者它默认为完整列表(因为一无所获),那么我想将其隐藏。


阅读 3274

收藏
2020-05-16

共1个答案

小编典典

你不可以做这个。最好的选择是在元素上使用类来切换伪元素的显示。

<style>
    .search_box:after {
        content: 'foo';
    }
    .search_box.hidden:after {
        display: none;
    }
</style>
<script>
    //Instead of these 2 lines
    //$('.search_box:after').hide();
    //$('.search_box:after').css('display', 'none');

    //Use
    $('.search_box').addClass('hidden');
</script>
2020-05-16