0

我在IE6中使用prototype和setStyle只是搞亂了一切。這是一個很大的錯誤。原型setStyle在IE6中不工作

我已經谷歌搜索,但無法找到解決方案。

我已經確定了與IE腳本調試器原型行了,這是最後的else塊:

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

(A)什麼是「大錯誤」 (B)你想要設定什麼風格,以及什麼價值? – Pointy 2010-03-15 12:25:59

回答

0

我剛剛遇到了這個問題我自己...如果你使用IE調試器,找到選項來顯示堆棧並備份,直到你進入你自己的代碼。可能的罪魁禍首是虛假的風格。在我來說,我有一個複製/粘貼問題,並試圖做到這一點:

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

此行

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

完美地工作......