我尝试通过多种方式通过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>