web-dev-qa-db-ja.com

IE9:「-ms-transform」の設定がcssから機能するのに、jquery.css()では機能しないのはなぜですか

これは機能します

div{
    -ms-transform: rotate(30deg);
}

そして、以下はしません

$("div").css("-ms-transform","rotate(30deg)");

なぜ何かアイデア、そしてそれを修正する方法は?
同じことが他のすべてのブラウザでも機能しますが、IEでは機能しません。もちろん、IE9だけがサポートしています。古いバージョンではできません。

27
grizwako

なぜだかわからないKooiIncによると のように、styleプロパティ名のダッシュはDOMスクリプトでは無効です。

次のように、オブジェクト表記を使用し、ハイフンでつなぐ代わりにキャメルケースで名前を渡すことで修正できます。

$('div').css({ msTransform: 'rotate(30deg)' });

jsFiddleプレビュー

19
BoltClock

jQuery 1.8 ベンダープレフィックスの自動サポートが提供されるため、これはすべてのブラウザで機能するようになりました。

$("div").css("transform","rotate(30deg)");
10
samy-delux