我使用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数据变量中?
答案 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);
};