Gibt es eine Möglichkeit, das CSS globaler Klassen mit JavaScript oder jQuery festzulegen? Das heißt, anhängen .my_class { foo:bar }
zum <style/>
Tag der Seite?
Globale CSS-Klassen mit JavaScript oder jQuery definieren?
MaiaVictor
Reines Javascript –
var style=document.createElement('style');
style.type="text/css";
if(style.styleSheet){
style.styleSheet.cssText="your css styles";
}else{
style.appendChild(document.createTextNode('your css styles'));
}
document.getElementsByTagName('head')[0].appendChild(style);
-
Nun, es gibt zwei richtige Antworten … Auswahl durch Math.random().
– MaiaVictor
19. März 2013 um 8:14 Uhr
-
Obwohl beide Antworten eine korrekte Lösung für die gegebene Frage bieten, bevorzuge ich aus Leistungsgründen die Verwendung von reinem Javascript, wenn ich nicht versuche, alte IE-Versionen zu unterstützen.
– weit überlegener Mensch
29. September 2015 um 21:45 Uhr
-
Ich füge das globale CSS so schnell wie möglich hinzu, damit neue Elemente unter Berücksichtigung dieses neuen CSS gerendert werden. Zu diesem Zeitpunkt ist jQuery noch nicht geladen und daher ist reines JS die bessere Option
– Verrückt
24. April 2020 um 10:02 Uhr
-
Warum gibt es dieses IF?
– Verrückt
24. April 2020 um 10:06 Uhr
-
IF für Browser, die auf die Unterstützung dynamischer Stylesheets testen, insbesondere der alte IE …
– Raumfahrer12
25. April 2020 um 13:26 Uhr
Ja, das können Sie in jQuery tun:
var styleTag = $('<style>.my_class { foo: bar; }</style>')
$('html > head').append(styleTag);
Es funktioniert durch einfaches Anhängen <style>
Tag am Ende <head>
.
-
Nun, es gibt zwei richtige Antworten … Auswahl durch Math.random().
– MaiaVictor
19. März 2013 um 8:14 Uhr
-
mehrzeilige Stile: let styles = `Ihre Stile hier mehrzeilig`; und dann: var styletag = $(styles);
– jmp
27. März 2020 um 8:07 Uhr
mögliches Duplikat von Ist es möglich, ein CSS-Stylesheet mit JavaScript zu ändern? (NICHT der Stil eines Objekts, sondern das Stylesheet selbst)
– QUentin
19. März 2013 um 7:45 Uhr
Mögliches Duplikat: jQuery CSS-Regel / Klasse @ Laufzeit erstellen
– Boas
19. März 2013 um 7:45 Uhr
Ja, aber setzen Sie a große Warnung in der Quelle Ihrer Website, um jeden zu warnen, der in Zukunft an der Website arbeitet. Meiner Erfahrung nach sind Websites mit dynamisch erstellten/geänderten Stylesheets die verwirrendsten Dinge im bekannten Universum.
– Rote Bete-Rote Bete
19. März 2013 um 7:53 Uhr
Entschuldigung, ich wusste, dass dies höchstwahrscheinlich eine doppelte Frage sein würde, aber ich habe gestern ein paar Minuten damit verbracht, sie zu durchsuchen, und konnte nur irrelevante Links finden – hauptsächlich, weil die Ergebnisse von Informationen über die .addClass von jQuery überschattet wurden.
– MaiaVictor
19. März 2013 um 8:03 Uhr