Подтвердить что ты не робот

Преобразование html-таблицы в массив в javascript

Я хотел бы спросить, возможно ли преобразовать HTML TABLE в массив в 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>
4b9b3361

Ответ 1

Вот пример того, что вы хотите.

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);

Вы могли бы, вероятно, расширить это, скажем, используя текст TH, чтобы вместо этого создать пару ключевых значений для каждого TD.

Так как эта реализация использует многомерный массив, вы можете получить доступ к строке и td, выполнив что-то вроде этого:

myTableArray[1][3] // Fourth td of the second tablerow

Изменить: здесь сценарий для вашего примера: http://jsfiddle.net/PKB9j/1/