您好,欢迎访问一九零五行业门户网

JQuery $.each遍历JavaScript数组对象实例_jquery

查看一个简单的jquery的例子来遍历一个javascript数组对象。
var json = [{id:1,tagname:apple},{id:2,tagname:orange},{id:3,tagname:banana},{id:4,tagname:watermelon},{id:5,tagname:pineapple}];$.each(json, function(idx, obj) {alert(obj.tagname);});
上面的代码片断工作正常,提示 “apple”, “orange” … 等,如预期一样。
问题: json 字符串
下面的例子中,声明了一个json字符串(随附单或双引号)直接地。
var json = '[{id:1,tagname:apple},{id:2,tagname:orange},{id:3,tagname:banana},{id:4,tagname:watermelon},{id:5,tagname:pineapple}]';$.each(json, function(idx, obj) {alert(obj.tagname);});
在chrome中,它显示在控制台下面的错误:
uncaught typeerror: cannot use 'in' operator to search for '156'
in [{id:1,tagname:apple}...
解决方案:json字符串转换为javascript对象。
要修复它,通过标准json.parse()或jquery 的 $.parsejson 将其转换为javascript对象。
var json = '[{id:1,tagname:apple},{id:2,tagname:orange},{id:3,tagname:banana},{id:4,tagname:watermelon},{id:5,tagname:pineapple}]';$.each(json.parse(json), function(idx, obj) {alert(obj.tagname);});//or $.each($.parsejson(json), function(idx, obj) {alert(obj.tagname);});
其它类似信息

推荐信息