在javascript中解析存储在变量中的表
我在javascript中有一个变量,其值将是如下所示的HTML表在javascript中解析存储在变量中的表,javascript,jquery,json,Javascript,Jquery,Json,我在javascript中有一个变量,其值将是如下所示的HTML表 <table border="1" cellpadding="2" cellspacing="2" dir="ltr" height="76" width="500"> <tbody> <tr> <td style="width: 166px;"> <strong>Name</strong> </td>
<table border="1" cellpadding="2" cellspacing="2" dir="ltr" height="76" width="500">
<tbody>
<tr>
<td style="width: 166px;"> <strong>Name</strong> </td>
<td style="width: 166px;"> <strong>Date</strong> </td>
<td style="width: 168px;"> <strong>Request Type</strong> </td>
</tr>
<tr>
<td style="width: 166px;"> name1 </td>
<td style="width: 166px;"> 11th May 2015 </td>
<td style="width: 168px;"> test </td>
</tr>
<tr>
<td style="width: 166px;"> name2 </td>
<td style="width: 166px;"> 12th May 2015 </td>
<td style="width: 168px;"> test </td>
</tr>
<tr>
<td style="width: 166px;"> name3 </td>
<td style="width: 166px;"> 28th May 2015 </td>
<td style="width: 168px;"> test </td>
</tr>
</tbody>
</table>
名称
日期
请求类型
名称1
2015年5月11日
测验
姓名2
2015年5月12日
测验
名字3
2015年5月28日
测验
现在我需要解析这个表并将其转换为JSON数组。关于如何实现这一点的任何建议。$(文档)。就绪(函数(){
$(document).ready(function(){
var htmlTable ='<table border="1" cellpadding="2" cellspacing="2" dir="ltr" height="76" width="500"> <tbody> <tr> <td style="width: 166px;"> <strong>Name</strong> </td> <td style="width: 166px;"> <strong>Date</strong> </td> <td style="width: 168px;"> <strong>Request Type</strong> </td> </tr> <tr> <td style="width: 166px;"> name1 </td> <td style="width: 166px;"> 11th May 2015 </td> <td style="width: 168px;"> test </td> </tr> <tr> <td style="width: 166px;"> name2 </td> <td style="width: 166px;"> 12th May 2015 </td> <td style="width: 168px;"> test </td> </tr> <tr> <td style="width: 166px;"> name3 </td> <td style="width: 166px;"> 28th May 2015 </td> <td style="width: 168px;"> test </td> </tr> </tbody> </table>';
htmlTable = $(htmlTable);
var tableJsonObj = [];
htmlTable.find("tbody tr").slice(1).each(function(){
var name = $(this).find("td:eq(0)").text();
var date = $(this).find("td:eq(1)").text();
var type = $(this).find("td:eq(2)").text();
var obj = {name, date, type};
tableJsonObj.push(obj);
});
console.log(tableJsonObj);
});
var htmlTable='名称日期请求类型名称1 2015年5月11日测试名称2 2015年5月12日测试名称3 2015年5月28日测试';
htmlTable=$(htmlTable);
var tableJsonObj=[];
htmlTable.find(“tbody tr”).slice(1.each(function)(){
var name=$(this.find(“td:eq(0)”).text();
var date=$(this.find(“td:eq(1)”).text();
var type=$(this.find(“td:eq(2)”).text();
var obj={name,date,type};
表3.1.1推送(obj);
});
console.log(tableJsonObj);
});
演示:这只需4行简单的旧Javascript即可完成。。。没有任何jQuery。需求有点模糊,但是下面的代码片段从表数据创建了一个json字符串。运行要测试的代码段
表中的JSON:
名称
日期
请求类型
名称1
2015年5月11日
测验
姓名2
2015年5月12日
测验
名字3
2015年5月28日
测验
//注意:String.trim()需要现代浏览器
var i,json=[],td=document.getElementsByTagName('td');
对于(i=0;i可能重复:是否要返回Javascript对象或json?请参阅:您好,上面的代码正在工作,但我不希望在json中添加标题。这里甚至还添加了第一行