CSS:如何删除伪元素(之后,之前,…)

我想用一个开关在网页上的段落标签的布局。

我使用后伪元素

p:after {content: url("../img/paragraph.gif");} 

现在我需要从页面中删除这个CSS代码。 这怎么能轻松完成(jquery已经在页面上使用了)? (我不想包含或删除包含CSS的文件)

 p:after { content: none; } 

没有官方的价值来设置的内容,如果指定,什么都不是。

http://www.w3schools.com/cssref/pr_gen_content.asp

你需要添加一个CSS规则,删除后的内容( 通过一个类 )..


由于一些有效的评论而更新

完全删除/禁用:after规则的更正确的方法是使用

 p.no-after:after{content:none;} 

正如Gillian Lo Wong所回答的那样 。


原始答案

你需要添加一个CSS规则,删除后的内容( 通过一个类 )..

 p.no-after:after{content:"";} 

并添加该类到您的p当你想与这条线

 $('p').addClass('no-after'); // replace the p selector with what you need... 

一个工作示例: http : //www.jsfiddle.net/G2czw/

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

这取决于假select器实际添加的内容。 在你的情况下,将内容设置为""将会消除它,但是如果你设置边界或背景或其他什么,你需要将这些内容清零。 据我所知,没有任何一种方法可以消除前后元素,不pipe它是什么。

正如Gillian的回答所提到的 ,将content分配给content解决了这个问题:

 p::after { content: none; } 

请注意,在CSS3中W3C推荐使用两个冒号( :: :)作为伪元素,比如之前之后

从伪元素的MDN web文档

注意:通常,应该使用双冒号( :: :)来代替单个冒号(:)。 这将伪类与伪元素区分开来。 但是,由于W3C规范的旧版本中没有这种区分,所以为了兼容性,大多数浏览器都支持这两种语法。 请注意::selection必须始终以双冒号( :: :)开头。