变量 属性 jQuery

Variable property jQuery

我需要为 div 的未知 属性 设置样式。

var property = 'width';
$('#div').css({[property]: '100px'});

我认为括号会起作用,但没有这样的运气。有人知道吗?

谢谢!

$('#div').css(property, value);

在上面的例子中 property 应该是一个字符串。

jsFiddle Demo

您可以创建一个新的函数对象。

var property = 'width';
$('#div').css(new function(){this[property] = '100px'});

您尝试使用的语法属于即将推出的 ECMAScript6。括号符号用于计算 属性 名称,该特征称为 "Computed property name"。

var identifier = 'Identifier';
{ ['an' + identifer]: 'value' } // { anIdentifier: 'value' }
{ [identifier.toUpperCase()]: 'value' } // { IDENTIFIER: 'value' }

目前只有 Firefox 34+ 支持此功能。当前广泛使用的 ES5 不支持它。你可以编码:

var property = 'width';
var styles = {};
styles[property] = '100px';

$('#div').css(styles);