CSS中未定义CSSStyleDeclaration中的背景

时间:2010-11-22 21:28:17

标签: javascript css

我有一个小函数,它将采用一串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的字符串。

1 个答案:

答案 0 :(得分:4)

我认为这是因为带有连字符的样式属性在javascript中是不一样的,background-color在javascript中是backgroundColor。因此,element.style.background-color应为element.style.backgroundColor