var s = {
"a":[{
"name":"...",
"dec":".."
}],
"b":[{
"name":"...",
"dec":".."
}]
}
$("#id").click(function(){
show("a")
})
function show(key){
$.each(s+'.'+key, function(i,e) {
....
});
}
如上~~ console.log(s.a);
正常输出
传参就不对了
Cannot use 'in' operator to search for 'length' in [object Object].a
求解答
额,不是这么用的
你应该是想
s.a
这种调用s+'.'+key
有几个问题:1 .
s
被转为字符串[object Object]
2 . 你传入的
key
是变量a
不是字符串'a'
3 . 就算传入字符串
'a'
,最后结果是[object Object].a
4 . 就算
s
使用字符串's.a'
最后这个只是一个字符串,需要eval('s.a')
来编译一下