2011-06-13 97 views
1

我下面的代碼:這是IE9的錯誤嗎?

HTML代碼體:

<div>asbcakjscb<div> 

CSS代碼:

div { 
    width:400px; 
    height:400px; 
    background:red; 
    -ms-transform:scale(.3); 
} 

的JavaScript代碼:

document.quertSelector('div').style.msTransform = 'scale(1)'; 

中的JavaScript代碼在運行頁面的加載事件。你可以在上面運行代碼:http://jsfiddle.net/fakjX

我需要在IE9上將CSS3變換比例樣式從0.3更改爲1。但我不能。我認爲這是一個IE9的錯誤。代碼看起來沒有問題。

你是否同意這是一個IE9的錯誤?或者你有解決方案來解決這個問題?

謝謝。

+1

您是不是要找的'querySelector'代替'quertSelector'? – 2011-06-13 11:55:52

+0

對不起。 「quertSelector」是拼寫錯誤。但我的意思不是這個。請查看http://jsfiddle.net/fakjX/5。我使用jQuery並編寫JS代碼:'$('div').css(' - ms-transform','scale(1)');'。它不起作用。你如何看待這個?謝謝。 – weilou 2011-06-13 12:03:37

回答

2

這不是IE中的錯誤,在腳本中使用短劃線時無效。使用jQuery設置屬性時,可以使用camelCase等價物和對象表示法。

編輯:發現關於這個問題的另一個問題SO - IE9: Why setting "-ms-transform" works from css, but not with jquery.css()

$('div').css({ msTransform: 'scale(1)' }); 
+0

你的迴應利用jQuery,但問題並不表明jQuery是一個選項。你能提供一個沒有框架體系的例子嗎? – 2011-06-13 12:12:05

+0

關於這個問題的評論可能是jQuery和小提琴上的框架肯定是jQuery – andyb 2011-06-13 12:13:48

+0

@andyb謝謝你的幫助。這非常有用!現在我認爲這是一個jQuery錯誤。 '$('div').css('msTransform','scale(1)');'在IE9上運行良好。 '$('div').css(' - webkit-transform','scale(1)')'適用於Chrome和Safari。 '$('div').css(' - moz-transform','scale(1)')'適用於Firefox。在官方jQuery網站(http://api.jquery.com/css)上,它說:不支持速記CSS屬性(例如頁邊距,背景,邊框)。例如,如果要檢索渲染邊距,請使用:'$(elem).css('marginTop')'和'$(elem).css('marginRight')',等等。 – weilou 2011-06-13 12:33:41