Gibt es eine Möglichkeit zum reset :nach/:bevor Sie die CSS-Regeln für ein element?
Gibt es irgendeine Möglichkeit (robust) reset mögliche :after
und :before
CSS-Regeln für ein neu erstelltes element?
In der Regel können Sie einfach legen Sie die style-Regeln, die Sie zurücksetzen möchten, auf das element direkt (mit !important
wenn Sie sicher sein wollen), aber ich weiß nicht von irgendeiner Weise zu ändern die Regeln definiert, in :after
auf das element nur.
(Hat nur die Arbeit mit Chrom, wenn möglich.)
Einer Beispiel bei jsFiddle.
Inhalte Hinzugefügt, mit der :before
/:after
Regeln ist, die den Wert zurückgegeben, indem clientHeight
.
siehe auch stackoverflow.com/questions/5041494/...
gut, es scheint, dass BoltClock antwortete es: stackoverflow.com/a/5041526/107152, Aber vielleicht Chrome hat eine Besondere Art und Weise der Zugriff auf/ändern?
mögliche Duplikate von definieren von CSS-pseudo-Klasse-Regeln in JavaScript
Ich bin nicht ganz zufrieden, mit jeder von den Antworten, obwohl.
gut, es scheint, dass BoltClock antwortete es: stackoverflow.com/a/5041526/107152, Aber vielleicht Chrome hat eine Besondere Art und Weise der Zugriff auf/ändern?
mögliche Duplikate von definieren von CSS-pseudo-Klasse-Regeln in JavaScript
Ich bin nicht ganz zufrieden, mit jeder von den Antworten, obwohl.
InformationsquelleAutor Qtax | 2012-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein DOM2-API für diese Angelegenheit. Der richtige Weg, dies zu tun ist
Leider kein browser implementiert hat. (Webkit gibt null zurück, Firefox hat keine solche Methode). Es sieht aus wie CSS3 nicht einmal die Mühe, Sie reden mehr, vielleicht, weil die usecases sind sehr selten.
So, Sie sind gonna haben zu tun, einige-id/className Magie wie vorgeschlagen oben oder in der anderen thread
InformationsquelleAutor user123444555621
Ich würde nur weisen der name einer Klasse der neuen Elemente, die nicht
:before
/:after
Inhalt.Beispiel - http://jsfiddle.net/84kZK/1/
elem.beforeStyle
wäre toll. 😉InformationsquelleAutor Phil
Ah, okay. Sie können schreiben, neue CSS, setzt die problematische
:before
/:after
pseudo-Elemente:Zuweisung einer Zufalls-ID zu dem element, das Sie (wenn es nicht eine haben) können Sie zu hacken-up-inline-styles—eher als der Zugriff auf
el.beforeStyle
sind, können Sie mithilfe von CSS-Selektoren:el#rkhjr828t9g:before
.Möglicherweise müssen Sie weitere Regeln hinzufügen, um vollständig zurückgesetzt Stile. jsFiddle: um mich zu sehen!
http://www.w3.org/TR/CSS21/generate.html#before-after-content
wenn Sie nicht fügen Sie alle Elemente, die zugänglich, um den DOM, Verhalten Sie sich wie Kinder
spans
Hinzugefügt, um das element. Siehe Bearbeitungen.Das würde auch Auswirkungen auf andere Elemente, für die diese Regeln gelten, die nicht erwünscht ist.
zufällig generierte IDs werden den trick tun :). Geben Sie einfach in das element und die Funktion kümmert sich um den rest. Ich weiß, das ist weit von ideal, aber es ist das beste, was wir haben.
InformationsquelleAutor benesch
Verwenden
ruleSelector("ref::before")[0].style
stattdocument.getOverrideStyle(ref, ':before')
.http://jsfiddle.net/s3fv8e5v/4/
InformationsquelleAutor bumfo
InformationsquelleAutor Mandy