原型setStyle在IE6中不起作用

时间:2010-03-15 11:57:29

标签: javascript internet-explorer prototypejs internet-explorer-6

我正在使用原型和IE6中的setStyle只是弄乱了一切。这是一个很大的错误。

我用谷歌搜索了它,但无法找到解决方案。

我已经使用IE脚本调试器确定了原型中的行,这是最后的其他块:

setStyle: function(element, styles) {
    element = $(element);
    var elementStyle = element.style, match;
    if (Object.isString(styles)) {
      element.style.cssText += ';' + styles;
      return styles.include('opacity') ?
        element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;
    }
    for (var property in styles)
      if (property == 'opacity') element.setOpacity(styles[property]);
      else
        elementStyle[(property == 'float' || property == 'cssFloat') ?
          (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') :
            property] = styles[property];

    return element;
  },

有人有这个问题吗?

P.S。通常我会使用jQuery,但这是我必须更新的其他代码。

1 个答案:

答案 0 :(得分:0)

我自己也遇到过这个问题...如果您使用的是IE调试器,找到显示堆栈并备份的选项,直到您进入自己的代码。可能的罪魁祸首是假冒风格。在我的情况下,我有一个复制/粘贴问题,并试图这样做:

msgDiv.setStyle( { padding: '6px', margin: 'margin' } );

这一行

msgDiv.setStyle( { padding: '6px', margin: '4px' } );

完美地工作......