【发布时间】:2018-05-25 00:42:06
【问题描述】:
我只想将基于父级的嵌套 JSON 打印到 HTML,但它始终显示所有值。 JSON:
var json = {
"siteMap": [{
"title": "Red",
"link": "red.html",
"subPageArray": [{
"subTitle": "SubLink1",
"link": "test1.html"
}, {
"subTitle": "SubLink2",
"link": "test2.html"
}]
}, {
"title": "Blue",
"link": "blue.html",
"subPageArray": [{
"subTitle": "SubLink1",
"link": "test1.html"
}, {
"subTitle": "SubLink2",
"link": "test2.html"
}]
}, {
"title": "Green",
"link": "green.html"
}, {
"title": "Yellow",
"link": "yellow.html",
"subPageArray": [{
"subTitle": "SubLink1",
"link": "test1.html"
}, {
"subTitle": "SubLink2",
"link": "test2.html"
}]
}]
}
JavaScript 调用:
$.each(json.siteMap, function (i, val) {
var data="<li class='topLevel'><a href='/" + this.link + "'>" + this.title + "</a><ul>";
if(this.subPageArray!=undefined){ // to make sure subPageArray exists
for (i = 0; i < this.subPageArray.length; ++i) {
data += "<li class='subLevel'><a href='/" + this.subPageArray[i].link + "'>" + this.subPageArray[i].subTitle + "</a></li>";
}
}
data+="</ul></li>";
$(data).appendTo(".siteMapContent .hii");
});
还有 HTML:
<div class="siteMapContent">
<ul class="hii"></ul>
</div>
如果我只想在 HTML 上打印 Blue 作为父级,如何过滤?
小提琴:http://jsfiddle.net/zeef/va0zosuu/
非常感谢所有帮助。
【问题讨论】:
-
if(this.subPageArray != undefined && this.title === "Blue")?
标签: javascript html arrays json object