使用$。eachach循环播放JSON响应
问题描述:
您好有一个问题我只能想到以非常粗糙的方式解决 - 想知道是否有其他人有任何其他想法 - 基本上我解析了一些JSON并将每个子节点附加到div但是一旦我有附加4项然后我需要在剩下的项目添加到另一个div这里是我使用它是有效的,这仅仅是JSON的片段的JSON:
"X_bizCardServiceLinks": [
{
"name": "blogs",
"js_eval": "generalrs.label_personcard_blogslink",
"href": "https:\/\/dc3-epag-03.tm-gnet.com\/blogs\/roller-ui\/blog\/dbb8fac0-42e4-102e-9409-b38b9530f95e"
},
{
"name": "quickr",
"js_eval": "generalrs.label_personcard_quickrlink",
"href": "https:\/\/dc3-epag-03.tm-gnet.com\/quickr\/allfiles\/people\/[email protected]"
},
{
"name": "profiles",
"js_eval": "generalrs.label_personcard_profilelink",
"href": "https:\/\/dc3-epag-03.tm-gnet.com\/profiles\/html\/simpleSearch.do?searchFor=dbb8fac0-42e4-102e-9409-b38b9530f95e&searchBy=userid"
},
{
"name": "activities",
"js_eval": "generalrs.label_personcard_activitieslink",
"href": "https:\/\/dc3-epag-03.tm-gnet.com\/activities\/service\/html\/mainpage#dashboard%2Cmyactivities%2Cuserid%3Ddbb8fac0-42e4-102e-9409-b38b9530f95e%2Cname%3DJonathan Popoola"
},
{
"name": "dogear",
"js_eval": "generalrs.label_personcard_dogearlink",
"href": "https:\/\/dc3-epag-03.tm-gnet.com\/dogear\/html?userid=dbb8fac0-42e4-102e-9409-b38b9530f95e"
},
{
"name": "communities",
"js_eval": "generalrs.label_personcard_communitieslink",
"href": "https:\/\/dc3-epag-03.tm-gnet.com\/communities\/service\/html\/allcommunities?userid=dbb8fac0-42e4-102e-9409-b38b9530f95e"
},
{
"name": "wikis",
"js_eval": "generalrs.label.personcard.wikislink",
"href": "https:\/\/dc3-epag-03.tm-gnet.com\/wikis\/home\/search?uid=dbb8fac0-42e4-102e-9409-b38b9530f95e&name=Jonathan Popoola"
},
{
"name": "files",
"js_eval": "generalrs.label_personcard_fileslink",
"href": "https:\/\/dc3-epag-03.tm-gnet.com\/files\/app\/person\/dbb8fac0-42e4-102e-9409-b38b9530f95e"
}
],
我目前尝试以下操作:
$.each(response.X_bizCardServiceLinks, function(){
var name = this.name;
var href = this.href;
if (name != "dogear") {
$("#linkTable tr").append("<td><a href=\""+ href +"\">"+ name +"</a>");
}
else {
console.log(name, href);
}
});
正如你可以看到,一旦名字等于“折角”功能MOV es的其他,但只会返回该链接,而不是剩下的,任何帮助将不胜感激。
答
我建议使用参数jquery提供给你的回调,它给你一个索引和一个值。
$.each(response.X_bizCardServiceLinks, function(index, val){
var name = this.name;
var href = this.href;
if (index < 4) {
$("#linkTable tr").append("<td><a href=\""+ href +"\">"+ name +"</a>");
}
else {
console.log(name, href);
}
});
答
这是一道数学题我猜:
$.each(response.X_bizCardServiceLinks, function(i, val){
var mod = i % 4;
var name = this.name;
var href = this.href;
if (mod==0) {
$("#linkTable tr").append("<td><a href=\""+ href +"\">"+ name +"</a>");
}
else {
console.log(name, href);
}
});
或者也许我不理解你需要什么......不过这种方法,你将永远有4种元素分离...