vars={"a":[{"name":"...","dec":".."}],"b":[{"name":"...","dec":".."}]}$("#id").click(function(){show("a")})functionshow(key){$.each(s+'.'+key,function(i,e){....});}如上~~console.log(s.a);正常输出传参就不对了Cannotuse'in'operatortosearchfor'length'in[objectObject].a求解答
2 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
额,不是这么用的你应该是想s.a这种调用s+'.'+key有几个问题:1.s被转为字符串[objectObject]2.你传入的key是变量a不是字符串'a'3.就算传入字符串'a',最后结果是[objectObject].a4.就算s使用字符串's.a'最后这个只是一个字符串,需要eval('s.a')来编译一下s['a']//正常获取varkey='a's[key]//使用变量functionshow(key){$.each(s[key],function(i,e){....});}show('a')
子衿沉夜
TA贡献1828条经验 获得超3个赞
点语法有两种形式:1.obj.name2.obj['name']您这个问题是在$.each()中出现的,控制台点击进入,报错在each方法中希望有所帮助
添加回答
举报
0/150
提交
取消