将唯一ID设置为从JSON文件在JavaScript中创建的表单元格

将唯一ID设置为从JSON文件在JavaScript中创建的表单元格,javascript,json,Javascript,Json,我用JavaScript创建表格单元格和行,并在表格单元格中添加JSON文件中的信息。我在代码中为表单元格分配了一个唯一的id,但我得到一个错误,即id未定义,并且当我以后想在id上使用它们时,id为“空白” 我不明白为什么会这样!请注意,该表已创建,所有内容都将按我的说明显示。下面你可以看到我的代码和其他相关信息,请不要jQuery,谢谢 HTML: 以下是页面元素中html的外观图片: jsonfile的示例: 无法读取未定义的属性“x”,表示您试图访问空对象的属性。尝试记录jsonDat

我用JavaScript创建表格单元格和行,并在表格单元格中添加JSON文件中的信息。我在代码中为表单元格分配了一个唯一的id,但我得到一个错误,即id未定义,并且当我以后想在id上使用它们时,id为“空白”

我不明白为什么会这样!请注意,该表已创建,所有内容都将按我的说明显示。下面你可以看到我的代码和其他相关信息,请不要jQuery,谢谢

HTML:

以下是页面元素中html的外观图片:

jsonfile的示例:


无法读取未定义的属性“x”,表示您试图访问空对象的属性。尝试记录jsonData.api.countries[i+1]。我的猜测是,一旦到达for循环的最后一个索引,就尝试访问不存在的i+1对象。您可能希望继续for循环,直到
jsonData.api.countries.length-1

Hi下面是一个使用vanilla js和一些自定义json的示例:


让json={
“国家”:[{
“国家”:“阿尔巴尼亚”,
“代码”:“AL”,
“旗帜”:https://media.api-football.com/flags/al.svg"
},
{
“国家”:“阿尔及利亚”,
“代码”:“DZ”,
“旗帜”:https://media.api-football.com/flags/dz.svg"
},
{
“国家”:“洪都拉斯”,
“代码”:“HN”,
“旗帜”:https://media.api-football.com/flags/hn.svg"
}
]
};
让html=``;
json.countries.forEach((e,i)=>{
html+=`${e.country}

`; }); document.getElementById('country')。innerHTML=html; const infoCountry=(目标)=>{ 让country=target.querySelectorAll('p')[0].innerText; 警报('此国家/地区为'+国家/地区) }


是否要在for循环中执行i=i+2?@JSLover我这样做是因为我希望循环继续从行的结束位置获取信息。例如,它首先获取索引0,然后获取1,现在行结束。下次它从i=0+2开始,并且continues@Blink22你能添加一个json文件的示例吗?@stanchacon现在是updated@Blink22你能添加对象而不是图像吗?但是如果我想让下一个单元格包含数组的secound索引中的数据,那么我该怎么做呢?这就是为什么我首先使用jsonData.api.countries[i+1],有什么建议吗?
<div id="info">
    <table id="country">
    </table>
</div>
            document.getElementById("country").innerHTML = "";
            for (var i = 0; i < jsonData.api.countries.length; i = i + 2) {
                document.getElementById("country").innerHTML += "<tr><td id = '" + jsonData.api.countries[i].code + "' > " + "<img src=" + jsonData.api.countries[i].flag + ">" + "<p>" + jsonData.api.countries[i].country + "</p>" + "</td>" +
                    "<td id = '" + jsonData.api.countries[i + 1].code + "' > " + "<img src=" + jsonData.api.countries[i + 1].flag + ">" + "<p>" + jsonData.api.countries[i + 1].country + "</p>" + "</td>"
                    +"</tr>";


                }
Uncaught TypeError: Cannot read property 'code' of undefined
at XMLHttpRequest.myfunction