我正在尝试将未知样式应用于未知选择器,并且似乎无法使用jQuery的.css()
方法应用简写css。它是否正确?有解决办法吗?
请注意,我正在动态构建对象以传递给.css()
,并且不想使用.css('background','#000')
语法。
$('#example').css({background:'#000000 url("images/bg.gif") repeat-x scroll 0 0 transparent'});
上面的代码不起作用。但是,下面的代码确实如此。
$('#example').css({background:'#000'});
这样做。
$('#example').css({background:'url("images/bg.gif")'});
但是当它们一起使用时,它们会自然地相互覆盖。有什么建议吗?
答案 0 :(得分:4)
background: #000000 url("images/bg.gif") repeat-x scroll 0 0 transparent;
...是无效的CSS。您已指定背景颜色两次(#000000和透明)。如果您使用有效的CSS,它应该可以工作。
也就是说,使用类和外部样式表通常是更好的选择。
答案 1 :(得分:2)
您最好的选择是在CSS文件中包含一组预定义的CSS类,然后根据需要动态应用这些目标样式。
这样做的另一个好处是可以将jQuery代码保持在可读和可管理的水平。
所以不要写:
$('#example').css({background:'url("images/bg.gif")'});
您可以选择更简单的方法:
$('#example').addClass('myClass1');