无效的分配左侧与三元if

Ori*_*iol 6 javascript

我想创建一个这样的样式表:

var sheet = document.createElement('style'); sheet.type = 'text/css';
sheet.innerHTML = data.style;
Run Code Online (Sandbox Code Playgroud)

似乎 IE需要自己的语法.为了简化这个答案的代码,我试过了

var sheet = document.createElement('style'); sheet.type = 'text/css';
(sheet.styleSheet ? sheet.styleSheet.cssText : sheet.innerHTML) = data.style;
Run Code Online (Sandbox Code Playgroud)

但那引发了ReferenceError: invalid assignment left-hand side.

然后,我必须使用......

var sheet = document.createElement('style'); sheet.type = 'text/css';
if(sheet.styleSheet) sheet.styleSheet.cssText = data.style;
else sheet.innerHTML = data.style;
Run Code Online (Sandbox Code Playgroud)

......还是有更简单的选择?

ade*_*neo 3

你总是可以这样做:

sheet.styleSheet ? sheet.styleSheet.cssText = data.style 
                 : sheet.appendChild(document.createTextNode(data.style));
Run Code Online (Sandbox Code Playgroud)

小提琴