我有一个小函数,它将采用一串css(例如background: red; width: 145px; height: 145px;
)
并返回CSSStyleDeclaration
但如果我有background
属性(以及background-color
等),则CSSStyleDeclaration
会将background-color
等设置为undefined
Firefox浏览器。
_parseCSS: function(css) {
var div = document.createElement('div');
div.innerHTML = '<div style="' + css + '"></div>';
return div.childNodes[0].style
}
有谁知道我做错了什么?
编辑:这里的代码不适用于Firefox:
style: function(style) {
var css = this._parseCSS(style);
return this.each(this._elem, function(element) {
this.each(css, function(s) {
var prop = s;
element.style[prop] = css[s];
});
});
},
参数style
是css的字符串。
答案 0 :(得分:4)
我认为这是因为带有连字符的样式属性在javascript中是不一样的,background-color
在javascript中是backgroundColor
。因此,element.style.background-color
应为element.style.backgroundColor
。