VID*_*gnz 3 javascript variables jquery
我有一个简单的JQuery声明......我的问题是,为什么世界上其中一个会失败?
让我们假设变量colorAttribute
是color
$(thisCLass).css( "color", '#'+hex ); // Works when written
$(thisCLass).css( colorAttribute, '#'+hex ); // Works with variable
$(thisCLass).css({ "color" : '#'+hex }); // Works when written
$(thisCLass).css({ colorAttribute : '#'+hex }); // Does not Work with variable
Run Code Online (Sandbox Code Playgroud)
关于为什么失败的任何想法?
那是因为你不能使用变量来指定对象文字中的名称.
对象文字中的标识符可以使用或不使用引号编写,因此在任何一种情况下都不会将其解释为变量.该对象将以您指定的标识符结束:
{ "colorAttribute" : '#'+hex }
Run Code Online (Sandbox Code Playgroud)
您可以使用变量在对象中设置属性,但是您必须首先创建对象并使用括号语法:
var obj = {};
obj[colorAttribute] = '#'+hex;
$(thisCLass).css(obj);
Run Code Online (Sandbox Code Playgroud)