Ich möchte ein Sheet wie diese erstellen:Ungültige Zuordnung der linken Seite mit ternären wenn
var sheet = document.createElement('style'); sheet.type = 'text/css';
sheet.innerHTML = data.style;
Aber it seems, die IE seine eigene Syntax muss. this answer ‚s Code zu vereinfachen, habe ich versucht,
var sheet = document.createElement('style'); sheet.type = 'text/css';
(sheet.styleSheet ? sheet.styleSheet.cssText : sheet.innerHTML) = data.style;
Aber das wirft ReferenceError: invalid assignment left-hand side
.
Dann muss ich ...
var sheet = document.createElement('style'); sheet.type = 'text/css';
if(sheet.styleSheet) sheet.styleSheet.cssText = data.style;
else sheet.innerHTML = data.style;
... oder gibt es eine einfachere Alternative?
Ich glaube, Sie können mit der Einstellung beider Werte durchkommen, und das Objektsystem von Javascript ist robust genug, um sich um den Unterschied zu kümmern. – abiessu
@abiessu Aber wenn 'sheet.styleSheet'' undefiniert' ist, dann löst 'sheet.styleSheet.cssText = sheet.innerHTML = data.style'' TypeError: sheet.styleSheet is undefined' aus. Dann sollte ich auch prüfen, ob ich das Objekt 'sheet.styleSheet' erstellen soll. – Oriol
Nein, ich meine zwei separate Zuweisungszeilen. Dieser Typfehler wird sehr wahrscheinlich ausgelöst, weil 'sheet.stylesheet' nicht existiert, um einen Wert zur Verfügung zu stellen, der in Ihrem Beispiel für 'sheet.styleSheet.cssText' zugänglich ist. – abiessu