Javascript CSSStyleDeclaration中的后台在Firefox中未定义

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

我有一个小函数,它将接受一个css字符串(例如
背景:红色;宽度: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];
      });
    });
  },