你如何调整jQuery的“-webkit-”前缀的CSS属性?

$(this).css({ -webkit-transform:'rotate(180deg)', -moz-transform: 'rotate(180deg)', -o-transform: 'rotate(180deg)', -ms-transform: 'rotate(180deg)' }); 

这是抛出错误:

未捕获的SyntaxError:意外的令牌 –

我真的希望我不必为这个实例安装jQuery Rotation插件。

 $(this).css({ '-webkit-transform':'rotate(180deg)', '-moz-transform': 'rotate(180deg)', '-o-transform': 'rotate(180deg)', '-ms-transform': 'rotate(180deg)' }); 

引用他们:

 $(this).css({ '-webkit-transform': 'rotate(180deg)', '-moz-transform': 'rotate(180deg)', '-o-transform': 'rotate(180deg)', '-ms-transform': 'rotate(180deg)' }); 

只是对当前答案的一点补充:如果你使用jQuery 1.8,你不必自己添加前缀。 jQuery会自动为你添加适当的前缀。

这意味着这个代码就足够了:

 ​$(this).css('transform', 'rotate(180deg)');​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

如果浏览器修改了前缀,您将不必担心添加新的前缀或删除它们。 🙂

这里有一个现场演示。 如果您使用WebKit浏览器访问该页面并检查正文,则可以看到jQuery添加了-webkit-transform: rotate(180deg); 作为一种风格。

看看这里的自动CSS前缀部分: http : //blog.jquery.com/2012/08/09/jquery-1-8-released/

为了给答案列表添加更多的变体,你也可以这样做

 $(this).css({ WebkitTransform: 'rotate(180deg)', MozTransform: 'rotate(180deg)', OTransform: 'rotate(180deg)', msTransform: 'rotate(180deg)', transform: 'rotate(180deg)' }); 

为了兼容性,CSS中的属性名称被转换为JS中的camelCase,所以当你使用'-webkit-transform'(如上面的例子)时,jQuery只是将它转换成WebkitTransform内部。

新的髋关节格式逗号的方式:

 $(this).css({ '-webkit-transform': 'rotate(180deg)' , '-moz-transform': 'rotate(180deg)' , '-o-transform': 'rotate(180deg)' , '-ms-transform': 'rotate(180deg)' });