在JavaScript中更改浏览器特定的CSS3(前缀)属性

Nic*_*ick 3 javascript coding-style cross-browser prefix css3

所以我试图用javascript动态改变div的样式,这通常没什么大不了,除了我试图改变一些有前缀的CSS3属性,即名字中的减号( - )......当然,这意味着完全在javascript中的其他东西......

所以我在我的javascript中有这个:

r += 1;
document.getElementById('someDiv').style.transform = "rotate(" + r + "deg)";
Run Code Online (Sandbox Code Playgroud)

而我的div的样式属性看起来像这样:

transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(50deg); /* Safari and Chrome */
-o-transform: rotate(30deg); /* Opera */
-moz-transform: rotate(30deg); /* Firefox */
Run Code Online (Sandbox Code Playgroud)

以便javascript可以正常更改"转换"属性,但我如何更改其余的属性?因为做这样的事情是行不通的:

document.getElementById('someDiv').style.-ms-transform = "rotate(" + r + "deg)";
Run Code Online (Sandbox Code Playgroud)

因为javascript读取" - "作为语法错误:(

想法?

SLa*_*aks 6

而不是-,使下一个字母大写:style.MozTransform.
(就像style.backgroundColor)

请注意,IE错误地使用msTransform小写m.