2016-04-15 174 views
0

我有问题执行以下操作:动态jQuery CSS属性?

var direction = "left"; 
$('#elem').css({"margin-"+direction: "50px"}); 

是没可能有动态属性这样吗?

谢谢

+0

是的......这是可能的...演示:https://jsfiddle.net/cgtnd9wL/ –

回答

0

.css(propertyname, value)有另一种变体。如果你想使用对象格式,然后可以把属性名和值作为2个不同的参数

var direction = "left"; 
$('#elem').css("margin-"+direction, "50px"); 

,您可以使用括号符号来指定动态属性

var css = {}; 
css["margin-"+direction] = "50px"; 
$('#elem').css(css); 
+0

有无论如何用括号{}做,所以我可以在CSS()中使用多个属性?因为我需要这样做:.css({opacity:0,display:“block”,“margin-”+ direction:“50px”}})。promise()。done(function(){ – RON2015

+0

@RON you can使用以下语法: - css({“propertyname”:“value”,“propertyname”:“value”,...}); –

+1

@ RON2015请参阅更新...再次使用promise在这里没有用处'css'不会做任何异步操作 –

0

删除Curlybraces({,})和冒号(:) jQuery代码,并尝试下面的代码

var direction = "left"; 
$('#elem').css("margin-"+direction, "50px"); 
0

您可以创建JAVASCRIPT对象,然后将该对象应用于CSS。

示例代码:

var style = {property1:"value1", property2:"value2", property3:"value3"}; 

然后你可以用下面的语法运用上述财产。

$('#element').css(style); 

通过使用上述方式,您可以添加动态属性,这将应用使用jQuery。

希望这会有所帮助。