Javascript CSSStyleDeclaration中的后台在Firefox中未定义
我有一个小函数,它将接受一个css字符串(例如Javascript CSSStyleDeclaration中的后台在Firefox中未定义,javascript,css,Javascript,Css,我有一个小函数,它将接受一个css字符串(例如背景:红色;宽度:145px;高度:145px;) 然后返回CSSStyleDeclaration但是如果我有background属性(和background coloretc),那么CSSStyleDeclaration在Firefox中将background coloretc设置为undefined _parseCSS: function(css) { var div = document.createElement('div'); di
背景:红色;宽度:145px;高度:145px;
)
然后返回CSSStyleDeclaration
但是如果我有background
属性(和background color
etc),那么CSSStyleDeclaration
在Firefox中将background color
etc设置为undefined
_parseCSS: function(css) {
var div = document.createElement('div');
div.innerHTML = '<div style="' + css + '"></div>';
return div.childNodes[0].style
}
参数
style
是css的字符串。我认为这是因为连字符样式属性在javascript中的含义不同,backgroundColor
在javascript中是backgroundColor
。因此,element.style.backgroundColor
应该是element.style.backgroundColor
在Firefox 3.6.9(fiddle)中对我有效。你的浏览器版本是什么?你在样式后漏了一个分号,但这不会破坏任何东西。发布返回“未定义”值的代码。我使用的是Firefox 3.6.12
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];
});
});
},