Ответ 1
Черта ('-') в свойстве недопустима для использования в скриптах. Вместо этого вы должны использовать msTransform
.
.css(...)
преобразует такие свойства, как 'background-color'
, в их эквивалент DOM-скриптов ('backgroundColor'
в этом случае) перед его разбором.
Чтобы быть полным: JQuery.css
действительно преобразует пунктирные свойства в camelCase. Здесь представлено представление JQuery.css
-интерналов со строкой '-ms-transform'
:
var fcamelCase = function( all, letter ) {
return letter.toUpperCase();
};
var rdashAlpha = /-([a-z])/ig;
// JQuery.css does a replace operation with these variables
// on the raw property string:
alert('-ms-transform'.replace(rdashAlpha,fcamelCase)); //=> msTransform
Итак, почему $("div").css("-ms-transform","rotate(30deg)")
не работает в IE9. IE9 ожидает: msTransform
.
Почему же, работает ли $("div").css("-moz-transform", "rotate(-90deg)")
в Firefox? Поскольку Mozilla, очевидно, решила использовать полный CamelCase для своих -moz- [свойств], поэтому свойство стиля скрипта MozTransform
является допустимым (и, кстати, MozTransform
не... действительно).
Все это в браузере, ничего нового под цифровым солнцем.