2016-04-15 265 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。

希望這會有所幫助。