jQuery和隐藏:after /:before伪类

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

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

$('.search_box:after').hide();

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

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

回答:

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

<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>

以上是 jQuery和隐藏:after /:before伪类 的全部内容, 来源链接: utcz.com/qa/436245.html

回到顶部