Website-Suche

javascript - CSS: Wie entfernt man Pseudoelemente (after, before, ...)?


Ich möchte einen Schalter für das Layout von Absatz-Tags auf einer Webseite verwenden.

Ich verwende das ::after-Pseudoelement:

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

Jetzt muss ich diesen CSS-Code von der Seite entfernen.

Wie kann dies einfach gemacht werden?

Ich möchte hinzufügen, dass:

  • jQuery wird bereits auf der Seite verwendet

  • und ich möchte keine Dateien enthalten oder entfernen, die CSS enthalten.

Antwort #1

p:after {
   content: none;
}

none ist der offizielle Wert, um den Inhalt auf nichts zu setzen, falls angegeben.

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

Antwort #2

Sie müssen eine CSS-Regel hinzufügen, die den After-Inhalt (durch eine Klasse) entfernt..

Ein Update aufgrund einiger gültiger Kommentare.

Die korrektere Methode, die :after-Regel vollständig zu entfernen/deaktivieren, ist die Verwendung von

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

wie Gillian Lo Wong geantwortet hat.

Ursprüngliche Antwort

Sie müssen eine CSS-Regel hinzufügen, die den After-Inhalt (durch eine Klasse) entfernt..

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

und füge diese Klasse zu deinem p hinzu, wann immer du dies mit dieser Zeile tun möchtest

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

ein funktionierendes Beispiel unter: http://www.jsfiddle.net/G2czw/

Antwort #3

Wie in Gilliams Antwort erwähnt, löst das Zuweisen von none zu content das Problem:

p::after {
   content: none;
}

Beachten Sie, dass in CSS3 das W3C empfiehlt, zwei Doppelpunkte (::) für Pseudoelemente wie ::before oder ::after zu verwenden.

Aus den MDN-Webdokumenten zu Pseudo-Elementen:

Hinweis: In der Regel sollten Doppelpunkte (::) anstelle eines einzelnen Doppelpunkts (:) verwendet werden. Dies unterscheidet Pseudoklassen von Pseudoelementen. Da diese Unterscheidung jedoch in älteren Versionen der W3C-Spezifikation nicht vorhanden war, unterstützen die meisten Browser beide Syntaxen aus Gründen der Kompatibilität. Beachten Sie, dass ::selection immer mit Doppelpunkten (::) beginnen muss.

Antwort #4

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

Verwandte Artikel