1

我使用 YUI/JavaScript 生成一个 html 表。我现在正在尝试通过使用 for 循环查看表中的每个项目来查看并存储生成的信息。

var savedata = function(){
    var tabledata = Y.one("#generatedtable")._node;
    var jData = [];
    for (var r in tabledata.rows){
        var samplerow = {};
        samplerow.timestamp = r.cells[0].innerHTML;
        samplerow.volts = r.cells[1].innerHTML;
        samplerow.amps = r.cells[2].innerHTML;
        samplerow.kW = r.cells[3].innerHTML;
        samplerow.kWh = r.cells[4].innerHTML;
        samplerow.sessionid = r.cells[5].innerHTML;
        jData.push(samplerow);
        }
};

使用 Chrome 开发者工具,我可以看到 Y.one("#generatedtable")._node.rows 给了我一个 [X] 的 HTMLcollection。这表示我之前的函数创建的行数。Row[0] 只是标题,我想跳过这一行。循环失败

samplerow.timestamp = r.cells[0].innerHTML;

线。我应该如何构造这个 for 循环以通过行 [0] 到 [X] 存储在我的 JSON 数据变量中?

4

1 回答 1

0
var savedata = function(){
    var tabledata = Y.one("#generatedtable")._node;
    var jData = [];
    var i = 1;
    var length = tabledata.rows.length
    while (i<length){
        var samplerow = {};
        var r = tabledata.rows[i];
        samplerow.timestamp = r.cells[0].innerHTML;
        samplerow.volts = r.cells[1].innerHTML;
        samplerow.amps = r.cells[2].innerHTML;
        samplerow.kW = r.cells[3].innerHTML;
        samplerow.kWh = r.cells[4].innerHTML;
        jData.push(samplerow);
        i++;
        }

alert(jData);
};
于 2013-06-27T19:38:26.643 回答