我正在尝试使用jQuery将CSS3变换添加到元素中。我正在使用Firefox 5来测试我的代码。我的目标是通过为不同的浏览器添加多个版本的过渡来最大化浏览器兼容性。这是我正在使用的代码:
$('#element_name').css('-webkit-transform', 'rotate(45deg)');
$('#element_name').css('-moz-transform', 'rotate(45deg)');
$('#element_name').css('transform', 'rotate(45deg)');
当我使用Firebug查看生成的HTML时,我发现只有-moz-transform被添加到元素的内联CSS中。这个CSS在Firefox中运行良好,但我还需要添加其他行。我假设如果我在Safari中查看页面,它将显示-webkit-transform行,但这对我的项目要求来说还不够好。无论浏览器如何,我都需要同时添加所有不同的CSS变换行。
有什么方法可以强制jQuery使用它们吗?也许有某种配置设置告诉jQuery不关心当前的浏览器?
答案 0 :(得分:2)
这不是由jQuery引起的。 jQuery没有预先检查浏览器中是否有可用的属性。
Firebug不会向您显示未知属性,因为浏览器在未知时不会应用它们。这是一种无效的分配而不会触发错误。
分配无效的css-properties只会在firebugs控制台中引发警告,你可以选择通过从控制台菜单中选择“show CSS-errors”-option来显示它们。
答案 1 :(得分:1)
您使用的是哪个版本的Firefox?您是否尝试临时删除-moz-transform声明并查看会发生什么? 我不确定,但有时候firebug只显示第一个有用的声明。