JavaScript动态建立或增加CSS样式表,参考如下:
1、简单的方法:
document.createStyleSheet().cssText = '标签{color:red' +// 这个注释只在当前JS中帮助理解,并不会写入CSS中
'width:300pxheight:150px}' +
'.类名{……}' +
'#ID们{……}'
2、比较完美的方法,防止重复添加,通过添加样式表ID并对其判断来实现:
if (!document.styleSheets['要建立的样式表ID如theforever']) { //先检查要建立的样式表ID是否存在,防止重复添加var ss = document.createStyleSheet()
ss.owningElement.id = '要建立的样式表ID如theforever'
ss.cssText = '标签{display:inline-blockoverflow:hidden' +
// 这个注释只在当前JS中帮助理解,并不会写入CSS中
'text-align:leftwidth:300pxheight:150px}' +
'.类名{……}' +
'#ID们{……}'
}
修改后的代码:
function addcss(css) {var div = document.createElement("div")
for (var i in css) {
div.style.cssText += i+":"+css[i]
}
document.body.appendChild(div)
}
你的代码存在以下问题:
1、创建元素的方法是createElement(),而不是create()
2、元素创建以后没有附加到已有节点上
3、i不是style的属性
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)