使用JS在HTML中将XML显示为表只显示一行

时间:2013-11-09 03:08:23

标签: javascript html xml html-table row

下面的代码仅显示表的第一行,它不显示XML文件的其余元素。我不明白为什么。

编辑:我看到部分问题是vegTable是一个变量。我需要for循环中的一个函数。

编辑2:我现在可以增加表格以获得适当数量的行,但第一行数据全部显示多次。

JSFiddle

function getVeggies() {
"use strict";
var veg, sci, vegTable;
veg = (cc[dd].getElementsByTagName("veg")[0].childNodes[0].nodeValue);
sci = (cc[dd].getElementsByTagName("sciname")[0].childNodes[0].nodeValue);

for (dd = 0; dd < cc.length; dd++) {

vegTable += "<tr><td>" + veg + "</td><td>" + sci + "</td></tr>";
}

document.getElementById('fullTable').innerHTML = vegTable;
dd = 0;
}

1 个答案:

答案 0 :(得分:0)

尝试将元素获取逻辑移动到循环中:

function getVeggies() {
    "use strict";
    var veg, sci, vegTable;
    var cc = cc;//whats cc?

    for (var i = 0; i < cc.length; i++) { 
        veg = (cc[i].getElementsByTagName("veg")[0].childNodes[0].nodeValue);
        sci = (cc[i].getElementsByTagName("sciname")[0].childNodes[0].nodeValue);

        vegTable += "<tr><td>" + veg + "</td><td>" + sci + "</td></tr>";
    }

    document.getElementById('fullTable').innerHTML = vegTable;
}