我有以下代码,它使用JSON请求检索数据:
// Replace home page template wildcards with data from database (JSON)
$.getJSON("mvc/models/home.php?action=getpagecontent&&jsoncallback=?", function(data) {
// Set markup identifiers
var identifiers = new Array();
identifiers[0] = "introheader1";
identifiers[1] = "introtext1";
// Replace markup on page
for (var x = 0; x < data.length; x++) {
if (data[x].introheader1 != undefined){
$(".introheader1").replaceWith(data[x].introheader1);
}
if (data[x].introtext1 != undefined){
$(".introtext1").replaceWith(data[x].introtext1);
}
}
});
这样可以正常工作,但如果返回了很多元素,那就太痛苦了。所以不是每个元素都这样:
if (data[x].introheader1 != undefined){
$(".introheader1").replaceWith(data[x].introheader1);
}
我想通过用标识符数组中的值替换硬编码值来使其动态化,就像这样,所以我只需要有一个并且可以遍历:
if (data[x].identifiers[0] != undefined){
$("." + identifiers[0]).replaceWith(data[x].identifiers[0]);
}
但它在“data [x]”中给出了错误。更换。我怎样才能做到这一点?谢谢!
答案 0 :(得分:1)
将您的for
更改为:
for (var x = 0; x < data.length; x++) {
for(var prop in data[x]){
$("."+prop).replaceWith(data[x][prop]);
}
}
希望这会有所帮助。干杯