Javascript 访问json,将变量名作为字符串传递
我在页面中包含了一些json文件,如下所示:Javascript 访问json,将变量名作为字符串传递,javascript,json,Javascript,Json,我在页面中包含了一些json文件,如下所示: <script type="text/javascript" language="javascript" src="json/divaniModerni.json"></script> <script type="text/javascript" language="javascript" src="json/divaniClassici.json"></script> $(divaniModerni
<script type="text/javascript" language="javascript" src="json/divaniModerni.json"></script>
<script type="text/javascript" language="javascript" src="json/divaniClassici.json"></script>
$(divaniModerni.modelli).each(function(index, element){ (...) }
}
我现在可以像这样解析文件:
<script type="text/javascript" language="javascript" src="json/divaniModerni.json"></script>
<script type="text/javascript" language="javascript" src="json/divaniClassici.json"></script>
$(divaniModerni.modelli).each(function(index, element){ (...) }
但是可以通过友好方式将文件更改为解析,并将名称传递给函数,就像这样
function show(category)
{
$(category.modelli).each(function(index, element){ (...) }
}
show(divaniModerni);
我试过:
$(window[category].modelli).each(function(index, element){ (...) }
但它不起作用
编辑:
在each中,我正在基于选定的json元素在表上创建一行:
var divaniModerni = {
"modelli": [
{
"nome": "California",
"num": "5",
},
{
"nome": "Terra",
"num": "6",
},
{
"nome": "Laura",
"num": "7",
},
{
"nome": "Nonstop",
"num": "11",
},
{
"nome": "Venere",
"num": "8",
},
{
"nome": "Comfort",
"num": "5",
},
{
"nome": "Infinity",
"num": "8",
},
]
$(divaniModerni.modelli).each(function(index, element){
if (i == 1)
riga += "<tr>";
riga += "<td><figure><a class='anteprime' rel='prettyPhoto[gallery" + i + "]' href='images/divani/" + element.nome + ".jpg'><img src='images/anteprima/divani/" + element.nome + ".jpg' alt='" + element.nome + "'></a><div class='descrizione'>" + element.nome;
if (element.num > 0)
{
for (j = 2; j <= element.num; j++)
{
riga += "<a style='display:none;' class='anteprime' rel='prettyPhoto[gallery" + i + "]' href='images/divani/" + element.nome + j + ".jpg'><img src='images/anteprima/divani/" + element.nome + j + ".jpg' alt='" + element.nome + "'></a>";
}
}
riga += "</div></figure></td>";
if (i == categoria.modelli.length)
{
riga += "</tr>";
$('#mostra').append(riga);
}
else if (i % 4 == 0)
{
riga += "</tr>";
$('#mostra').append(riga);
riga = "<tr>";
}
i++
})
$(divaniModerni.modelli)。每个(函数(索引,元素){
如果(i==1)
里加+=”;
riga+=“”+element.nome;
如果(element.num>0)
{
for(j=2;j将对象引用直接传递到each语句中,只对该语句进行迭代
你能把代码放在每条语句中吗?这样我就可以知道你想要完成什么了。这个对象已经有一个结尾“}”,在问题的代码部分之外,因为有一个打印错误。@MisterFrank Updated,希望能有所帮助。