у меня есть данные вроде
<table> <tr> <th>title 1</th> <td>para1</td> </tr> </table> <table> <tr> <th>title 2</th> <td>para1</td> <td>para2</td> <td>para3</td> </tr> </table> <table> <tr> <th>title 3</th> <td>para1</td> <td>para2</td> </tr> </table>
теперь как я могу взять эти данные и сделать в массив … это будет действительно полезно, если я смогу получить решение для этого.
В моей проблеме у меня есть таблица, как показано выше, и вы хотите сохранить данные во вложенном / многомерном массиве. Все вышеприведенное решение не отвечает на мой вопрос
заранее спасибо
Кажется, я знаю, что вы ищете … На самом деле это довольно просто.
Вы хотите сначала выполнить итерацию с помощью тегов <table>
. Затем итерации дочерних tr - td
s.
Я бы окружал table
с окружающим div
чтобы упростить их захват.
Затем я буду использовать jQuery, потому что библиотека упрощает выбор детей и т. Д. Затем для хранения в базу данных .. Я бы «Json-ify» массива (ов)
IE
$(document).ready(function() { myHTML = $('#myDiv').html(); }); var tableNumber = $('#myDiv').children('table').length; var items = []; for (i = 0; i < tableNumber; i++) { var title = $($("table tr th")[i]).html(); var paras = []; $($("table tr")[i]).find('td').each(function() { paras.push($(this).html()); }); items.push(title, paras); } var outPut = JSON.stringify(items); $('#jsonOut').html(outPut);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="myDiv"> <table> <tr> <th>title 1</th> <td>para 1-1</td> </tr> </table> <table> <tr> <th>title 2</th> <td>para 2-1</td> <td>para 2-2</td> <td>para 2-3</td> </tr> </table> <table> <tr> <th>title 3</th> <td>para 3-1</td> <td>para 3-2</td> </tr> </table> </div> <br> <pre> <div id="jsonOut"> </div> </pre>