使用YUI从HTML表中读取数据?

时间:2013-06-27 14:49:32

标签: javascript yui

我使用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]的HTML集合。这表示我以前的函数创建的行数。 Row [0]只是标题,我想跳过这一行。

上的循环失败
samplerow.timestamp = r.cells[0].innerHTML;

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

1 个答案:

答案 0 :(得分: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);
};