2013-02-06 42 views
3

这可能是一个愚蠢的问题,但我想在我的设置已经构造在以下格式的字符串传递:在字符串传递给jQuery函数为对象

"setting1" : "value", "setting2" : "value", "setting3" : "value" 

上述被保存到一个名为args的字符串。没什么特别的,但我想把它作为参数传递给一个函数。

$('#element').functionName({ args }); 

我不知道我在这里错过了什么...... 谢谢!

+0

'args'究竟是什么?你被卡住了什么? –

+0

抱歉,args是上面字符串的var名称...我将编辑 – Aaron

+0

备份一下字符串来自哪里。更有意义的是修改它的源代码来创建对象或JSON,而不是如图所示格式化的字符串 – charlietfl

回答

3

如果你真的有一个字符串,如这样的:

'"setting1" : "value", "setting2" : "value", "setting3" : "value"' 

可以使用JSON.parse分析它,并得到一个对象,它像这样:

var args = JSON.parse("{" + str + "}"); 
$('#element').functionName(o); 

但在现实中,你可能希望从一开始就创建这样的对象而不是字符串,例如:

var args = {"setting1" : "value", "setting2" : "value", "setting3" : "value"}; 
$('#element').functionName(args); 
1

有n o这样的事情是一个愚蠢的问题。尝试:

var args = JSON.parse("{'setting1' : 'value', ...}"); 

然后将“args”变量传递给你的函数。

相关问题