我想要创建一个像这样的样式表:
var sheet = document.createElement('style'); sheet.type = 'text/css';
sheet.innerHTML = data.style;
但是看起来IE需要自己的语法。为了简化这个答案的代码,我尝试了以下操作:
var sheet = document.createElement('style'); sheet.type = 'text/css';
(sheet.styleSheet ? sheet.styleSheet.cssText : sheet.innerHTML) = data.style;
但是这会抛出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;
是否有更简单的替代方案?
sheet.styleSheet
是undefined
,那么sheet.styleSheet.cssText = sheet.innerHTML = data.style
就会抛出TypeError: sheet.styleSheet is undefined
。那么,我还应该检查是否需要创建对象sheet.styleSheet
。 - Oriolsheet.stylesheet
不存在,无法提供一个可访问sheet.styleSheet.cssText
的值。 - abiessu