由于您的转换样式是在CSS中声明的,因此您必须从元素中提取计算样式以修改它:
var temp = document.querySelector('.temp')
var styles = window.getComputedStyle(temp, null).getPropertyValue('transform');
这里的问题在于你会得到一个矩阵(至少在Chrome中),像这样:
。
matrix(1.0555833735058735, 0.07578747639260253, 0.13126775968941418, 1.828324034537128, 0, 0)
因此,除非您想修改矩阵参数,否则建议您通过JavaScript设置和修改样式,而不是CSS:
var transform = 'rotate(45deg) scale(0.8,1.2) skew(60deg,-30deg)';
temp.style.transform = transform;
现在您可以进行字符串替换:
temp.style.transform = transform.replace(/45deg/,'90deg')
演示(使用chrome的webkit前缀):http://jsfiddle.net/hZAvk/
var temp = document.querySelector('div')
var transform = 'rotate(45deg) scale(0.8,1.2) skew(60deg,-30deg)';
temp.style.WebkitTransform = transform;
setTimeout(function() {
temp.style.WebkitTransform = transform.replace(/45deg/,'90deg');
},1000);
.temp{
height:100px;background:red;
}
<div class="temp"></div>