我想使用Jquery在变量中具有多个CSS属性。此代码不起作用:
var deco = {"text-decoration":"none"};
var bak = {"background-color":"cyan"};
$("a").css( deco , bak );
我的代码有什么问题?谢谢。尼古拉斯
最佳答案
出问题的是,您以不被编写为被调用的方式来调用css
函数。接受对象的版本只接受一个对象。
您可以在将对象与$.extend
传递时进行合并:
$("a").css( $.extend( {}, deco , bak ) );
例:
console.log("And...");
setTimeout(function() {
var deco = {"text-decoration":"none"};
var bak = {"background-color":"cyan"};
$("a").css( $.extend( {}, deco , bak ) );
console.log("...done");
}, 800);
<a href="http://example.com">Testing 1 2 3</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
旁注:强烈建议您使用类而非内联样式,除非您有强烈的特定理由不这样做。