使用jQuery设置浏览器特定的CSS属性
setting browser-specific CSS properties with jQuery
我正在尝试修改background-image属性中的梯度值,我不能:(
data = 'ff55dd';
$(".el").css({
'background-image' : '-webkit-gradient(linear, left top, left bottom, from(#' + data + '), to(#aa1133))',
'background-image' : '-webkit-linear-gradient(#' + data + ', #aa1133)',
'background-image' : '-moz-linear-gradient(#' + data + ', #aa1133)',
'background-image' : '-o-linear-gradient(top, #ff3345, #aa1133)',
'background-image' : '-khtml-gradient(linear, left top, left bottom, from(#' + data + '), to(#aa1133))',
'filter' : 'progid:DXImageTransform.Microsoft.gradient(startColorstr=''#' + data' + ''', endColorstr=''#aa1133'', GradientType=0)',
'background-image' : 'linear-gradient(#ff5534, #aa1133)'
});
什么也没发生…
如果你一次把所有的规则都放进去,看起来像是覆盖了规则。
我一个一个地添加它们,它似乎有效。
$(".e1")
.css('background-image','-webkit-gradient(linear, left top, left bottom, from(#' + data + '), to(#aa1133))')
.css('background-image','-webkit-linear-gradient(#' + data + ', #aa1133)')
.css('background-image','-moz-linear-gradient(#' + data + ', #aa1133)')
...
这行不通。为什么?因为在调用"。CSS()"时,你实际上并不是在编写CSS代码,而是在编写JavaScript代码。在对象常量中,当您为相同的属性名提供许多不同的值时,到"。css()"代码实际将对象作为参数获取时,您将最终得到一个属性。因此,只会留下最后设置的"background-image"值。
换句话说,你的代码相当于这样:
$(".el").css({
'filter' : 'progid:DXImageTransform.Microsoft.gradient(startColorstr=''#' + data + ''', endColorstr=''#aa1133'', GradientType=0)',
'background-image' : 'linear-gradient(#ff5534, #aa1133)'
});
我怀疑除了直接将"style"属性设置为完整的CSS块,或将CSS写入构建的<style>
元素中,然后添加到DOM之外,没有任何方法可以通过jQuery做到这一点。
相关文章:
- 谷歌图表-如何更改整个表的css属性
- 将css属性替换为变量
- 使用Jquery/Javascript替换CSS属性
- 如何使用JavaScript查找未定义的CSS属性的值
- 在jquerymobile中设置按钮css属性的动画
- JavaScript无法提取引号css属性
- 使用AngularJS动态更改css属性
- 使用javascript获取具有特定CSS属性的所有元素
- 将css属性添加到对象的集合中
- 取消img的css属性宽度和高度(不能使用“auto”)
- CSS属性更改侦听器
- 如何更改与Backbone集合中的模型相关联的几个元素的css属性
- 如何使用java脚本或jQuery基于相同的特定css属性对元素进行分组
- 如何在不链接/jquery的情况下使用方法应用css属性数组
- 在 javascript css 属性中使用变量
- 在jQuery中链接时CSS属性不起作用
- jQuery检查CSS宽度是否大于0,然后添加CSS属性
- 使用循环增加css属性值
- 更改类所选空输入的CSS属性
- 无法查找元素'手动加载CSS文件时的CSS属性