将变量用于jquery css属性名称

时间:2016-03-03 10:28:41

标签: javascript jquery css

我已经看到很多线程询问如何将变量用于jquery&#css方法,如

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

但没有一个如何使用变量反过来像

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

对我而言,它并不像那样工作,所以我想,是否有办法制作类似工作的东西,以便在使用背景颜色时节省一些空间'在剧本中多次?

谢谢!

3 个答案:

答案 0 :(得分:3)

如果它是单个属性,你可以用这种方式写

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

如果你需要传递一个对象,你可以将background-color键定义为方括号内的变量

var bg = 'background-color';

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

答案 1 :(得分: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>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

只需使用带有样式名称和参数

.css(propertyName, value)版本

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