在html表格单元格中获取InnerText,并将其整形为适合GoogleChartneneneba API
Get InnerText in html table cell and shape it to fit Google Chart API
我试图获取一个具有不同行数的表的单元格值(从php中的'while'循环生成),并对其进行整形,以适应Google Chart API。
这是表格:
<thead>
<tr>
<th>Sport/Month</th>
<th>January</th>
<th>February</th>
<th>March</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tennis</td>
<td>Value Tennis.Jan</td>
<td>Value Tennis.Feb</td>
<td>Value Tennis.Mar</td>
</tr>
<tr>
<td>Football</td>
<td>Value Football.Jan</td>
<td>Value Football.Feb</td>
<td>Value Football.Mar</td>
</tr>
<tr>
<td>Sport_n</td>
<td>Value Sport_n.Jan</td>
<td>Value Sport_n.Feb</td>
<td>Value sport_n.Mar</td>
</tr>
</tbody>
我想这样塑造它:
[
['Sport/Month','Tennis','Football','Sport_n'],
['Jan',Value Tennis.Jan, Value Football.Jan, Value Sport_n.Jan],
['Feb',Value Tennis.Feb, Value Football.Feb, Value Sport_n.Feb],
['Mar',Value Tennis.Mar, Value Football.Mar, Value Sport_n.Mar]
]
为了将其集成到脚本中:
https://code.google.com/apis/ajax/playground/?type=visualization#line_chart
我尝试使用innerText等从这里挑选一些代码:如何从HTML表中获取值';s使用JavaScript 的单元格
但我的JS知识有限,所以我无法达到我想要的。。。
如果你想使用JS,这个方法可能会有所帮助-
/**
* Pass this method table element, if you table id "t", use this method like -
* getJSONArrayFromTable(document.getElementById("t"))
*
* @param tableElement
* @returns {Array}
*/
function getJSONArrayFromTable(tableElement) {
var json = [];
var rows = [];
Array.prototype.push.apply(rows, tableElement.tHead.rows);
for ( var i = 0; i < tableElement.tBodies.length; i++) {
Array.prototype.push.apply(rows, tableElement.tBodies[i].rows);
}
for ( var i = 0; i < rows.length; i++) {
json[i] = [];
for ( var j = 0; j < rows[i].cells.length; j++) {
json[i].push(rows[i].cells[j].innerHTML);
}
}
return json;
}
只需为每列创建数组,然后将它们转换为行。
http://jsfiddle.net/N4Euz/
var $rows = $("table tr"),
len = $rows.length,
chartData = [],
cols = [];
for(var i = 0; i < len; i++){
cols[i] = [];
for(var y = 0; y < len; y++){
cols[i].push(
$rows.eq(y).find("td,th").eq(i).text()
);
}
}
for(var i = 0; i < len; i++){
chartData.push(
cols[i]
);
}
console.log(chartData);
相关文章:
- 如何更改bigquery API中的计费层选项
- Amazon S3 REST API大小不正确
- 客户端服务器REST API captcha实现
- 使用Facebook live API创建实时视频对象时的隐私设置
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- API密钥使用和检查示例
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 谷歌地图JS API+JSON-多个标记没有显示
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 如何在 API 调用后和 if 语句中启用提交按钮
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 搜索api在mac上显示对话框
- Backbone.js restful json API design
- 标记的实时更新,无需加载页面谷歌地图API V3
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- 对API数据使用声明性绑定
- Nodejs API控制器,用于在API之间切换