2016-03-03 28 views
1

我已經看到了很多關於如何使用變量反過來像使用可變

var bg='background-color'; 
$(this).css({bg:'#000000'}); 
線程詢問如何使用一個變量jQuery的CSS的方法類似

var black='#000000'; 
$(this).css({'color':black}); 

,但沒有

對我來說,它並不是那樣工作,所以我問,有沒有辦法讓這樣的工作,以節省一些空間,當在腳本中多次使用'背景顏色'?

謝謝!

+1

怎麼樣'VAR OBJ = {}; OBJ [BG] =黑色; $(this).css(obj)'? – Rayon

回答

3

,如果它是你可以用這種方式寫

var bg = 'background-color'; 
$(this).css(bg, '#000000'); 

如果你需要傳遞一個對象,你可以定義background-color鍵作爲變量方括號

var bg = 'background-color'; 

var obj = {}; 
obj[bg] = '#000000'; 
$(this).css(obj); 
+0

OP想通過'object'作爲參數...你不能使用你提供的語法設置很多樣式.. – Rayon

+1

@RayonDabre我不認爲這是對OP的嚴格要求:_「有沒有辦法做這樣的事情「_--無論如何我已經編輯並顯示了兩種方式 – fcalderan

2

使用bracket單一屬性使用變量的符號key的對象

var obj = {}; 
 
var bg = 'background-color'; 
 
var black = '#000000'; 
 
obj[bg] = black; 
 
$('div').css(obj)
div { 
 
    color: white; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<div>Hello</div>

1

只需使用的.css(propertyName, value)的版本,將樣式名稱和參數

$('div').each(function() { 
 
    var bg = 'background-color'; 
 
    $(this).css(bg, '#000000'); 
 
})
div { 
 
    margin-bottom: 5px; 
 
    color: white; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div>some</div> 
 
<div>test</div>