$.map 関数を使用して、テーブルをオブジェクトに正常に変換しました。<tr> to <dl> <th> to <dt> <td> to <dd>
ただし、変換してページに結果を追加し、最終的に元のテーブルをビューから非表示にしたいと考えています。
注: 実際の行数はテーブルごとに異なります。サイトのすべてのテーブルにthead
HTML:望ましい結果
<div id="item">
<dl>
<dt>First Name:</dt>
<dd>James</dd>
<dt>Last Name:</dt>
<dd>Matman</dd>
<dt>Job Title:</dt>
<dd>Chief Sandwich Eater</dd>
</dl>
<dl>
<dt>First Name:</dt>
<dd>The</dd>
<dt>Last Name:</dt>
<dd>Tick</dd>
<dt>Job Title:</dt>
<dd>Crimefighter Sorta</dd>
</dl>
</div>
HTML: 現在
<div id="item"></div>
<table>
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Job Title</th>
</tr>
</thead>
<tbody>
<tr>
<td>James</td>
<td>Matman</td>
<td>Chief Sandwich Eater</td>
</tr>
<tr>
<td>The</td>
<td>Tick</td>
<td>Crimefighter Sorta</td>
</tr>
</tbody>
</table>
JQuery
var rowCount = $("tbody > tr").length;
var items = [];
var headers = [];
$("thead th").each(function() {
headers.push($(this).text());
});
var tbl = $('table tbody tr').map(function(r) {
return $(this).find('td').map(function(c) {
return {
row:r + 1,
col:c + 1,
cell: $(this).text()
}
}).get();
}).get();
console.log(tbl);
//$("#item").html(JSON.stringify(items));