jon*_*aag 14 html javascript arrays jquery html-table
如何将HTML表转换为JavaScript数组?
<table id="cartGrid">
<thead>
<tr>
<th>Item Description</th>
<th>Qty</th>
<th>Unit Price</th>
<th>Ext Price</th>
</tr>
</thead>
<tbody>
<tr><td>Old Lamp</td><td>1</td><td>107.00</td><td>107.00</td>
<tr><td>Blue POst</td><td>2</td><td>7.00</td><td>14.00</td>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
And*_*son 39
这是做你想做的事的一个例子.
var myTableArray = [];
$("table#cartGrid tr").each(function() {
var arrayOfThisRow = [];
var tableData = $(this).find('td');
if (tableData.length > 0) {
tableData.each(function() { arrayOfThisRow.push($(this).text()); });
myTableArray.push(arrayOfThisRow);
}
});
alert(myTableArray);
Run Code Online (Sandbox Code Playgroud)
你可以扩展一下,比方说,使用TH的文本为每个TD创建一个键值对.
由于此实现使用多维数组,因此您可以通过执行以下操作来访问行和td:
myTableArray[1][3] // Fourth td of the second tablerow
Run Code Online (Sandbox Code Playgroud)
编辑:这是你的例子的小提琴:http://jsfiddle.net/PKB9j/1/
小智 6
这是一个函数转换一个 Html 表(只需给出 id)并返回一个表数组:
function table_to_array(table_id) {
myData = document.getElementById(table_id).rows
//console.log(myData)
my_liste = []
for (var i = 0; i < myData.length; i++) {
el = myData[i].children
my_el = []
for (var j = 0; j < el.length; j++) {
my_el.push(el[j].innerText);
}
my_liste.push(my_el)
}
return my_liste
}
Run Code Online (Sandbox Code Playgroud)
希望对你有帮助!