Javascript 使用jQuery后删除伪元素::

Javascript 使用jQuery后删除伪元素::,javascript,jquery,Javascript,Jquery,我想知道有没有办法删除pseudo::after。我不能在代码中显示,但我有图像要解释 当从::中选择复选框时,现在将添加::after。我想要的是,当选择另一个复选框时,另一个复选框将丢失::after,并将返回::before 我试过的是 $'.ckbox label'.notthis.removeAttr'::在' 但是它并没有删除::因为样式仍然存在,所以我可以说它并没有删除::您不能以这种方式将伪元素作为目标。但是,您可以添加一个将内容设置为“无”的类,或者添加一个类并以这种方式添加伪

我想知道有没有办法删除pseudo::after。我不能在代码中显示,但我有图像要解释

当从::中选择复选框时,现在将添加::after。我想要的是,当选择另一个复选框时,另一个复选框将丢失::after,并将返回::before

我试过的是

$'.ckbox label'.notthis.removeAttr'::在'


但是它并没有删除::因为样式仍然存在,所以我可以说它并没有删除::您不能以这种方式将伪元素作为目标。但是,您可以添加一个将内容设置为“无”的类,或者添加一个类并以这种方式添加伪元素,然后在不再需要该类时删除该类

.added-class:after {
  content:none
}

看看@DanielBeck的可能副本我试过了,它不起作用,因为仍然有::after,所以我真的需要找到一种方法来删除它。。我将尝试触发“单击其他”复选框,也许它会起作用。如果我一次触发多个复选框有什么缺点吗?我根本不明白你在评论中说什么。如果要删除在::before或::after伪类中添加的内容,需要在CSS中将伪类内容设置为空字符串。您无法使用removeAttr清除它,因为它不是一个属性,而是一个伪类。但是,是的,如果您尝试这样做的原因是强制一次只检查一个,那么您肯定希望使用单选按钮来代替。
$('.ckbox label').addClass('added-class');