sal*_*ane 28 javascript jquery
我正在为Jquery创建一个插件,并且需要将变量作为对象中的键.
$(selector).animate({self.settings.direction: '+='+self.displacement+'px'}, "slow" , function () {});
Run Code Online (Sandbox Code Playgroud)
这部分导致错误:
self.settings.direction
我的语法错误的任何想法?谢谢
Ama*_*dan 84
AFAIK,你做不到.对象文字表示法中冒号前面的任何内容都将自动解释为字符串.您需要预先构造对象,并使用方括号表示法.
var options = {}
options[self.settings.direction] = '+=' + self.displacement + 'px';
$(selector).animate(options, "slow" , function () {});
Run Code Online (Sandbox Code Playgroud)
小智 11
如果值也是字符串,则可以使用JSON.parse:
var a = 'key';
var b = 'value';
var test = JSON.parse('{"' + a + '":"' + b + '"}"');
//test = {key: 'value'}
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以使用toString()访问变量定义的字符串.所以:
var obj = new Object;
obj.a = 0;
obj.b = 1;
var a = "b";
obj["a"]; // will output 0
obj[a.toString()] // will output 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29061 次 |
| 最近记录: |