[英]Convert a table HTML String to JSON
I'm using this table to JSON library which parses an HTML Table to JSON from its ID ( #testtable
in this example): 我正在使用此表到JSON库,该库将HTML表从其ID(在此示例中为
#testtable
)解析为JSON:
var table = $('#testtable').tableToJSON();
alert(JSON.stringify(table));
But I want to parse the Table from a String. 但是我想从字符串中解析表。 Like this:
像这样:
var table = $('<table id="example-table"> <thead> <tr> <th>First Name</th> <th>Last Name</th> <th data-override="Score">Points</th></tr> </thead> <tbody> <tr> <td>Jill</td> <td>Smith</td> <td data-override="disqualified">50</td></tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td></tr> <tr> <td>John</td> <td>Doe</td> <td>80</td></tr> <tr> <td>Adam</td> <td>Johnson</td> <td>67</td></tr> </tbody> </table>').tableToJSON();
How could I do that? 我该怎么办?
It seems the plugin wants the table to be both in the DOM and visible (I tried it in a hidden container). 似乎插件希望该表既在DOM中又在可见中(我在隐藏容器中尝试过)。
You can create an offscreen container to append to and then run plugin: 您可以创建一个屏幕外容器以附加到该容器,然后运行插件:
<div id="hidden-div" style="position:absolute; top:-999em; left:-999em"></div>
JS JS
$(function() {
var $table = $('<table id="example-table"> <thead> <tr> <th>First Name</th> <th>Last Name</th> <th data-override="Score">Points</th></tr> </thead> <tbody> <tr> <td>Jill</td> <td>Smith</td> <td data-override="disqualified">50</td></tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td></tr> <tr> <td>John</td> <td>Doe</td> <td>80</td></tr> <tr> <td>Adam</td> <td>Johnson</td> <td>67</td></tr> </tbody> </table>')
$('#hidden-div').append($table);
var table = $table.tableToJSON();
console.log(table);
});
Then remove the offscreen element: 然后删除屏幕外元素:
$('#hidden-div').remove()
The plugin has the option to ignoreHiddenRows
. 该插件可以选择
ignoreHiddenRows
。 Simply set it to false: 只需将其设置为false即可:
var table = $('<table>...</table>').tableToJSON({ignoreHiddenRows: false});
var table = $('<table id="example-table"> <thead> <tr> <th>First Name</th> <th>Last Name</th> <th data-override="Score">Points</th></tr> </thead> <tbody> <tr> <td>Jill</td> <td>Smith</td> <td data-override="disqualified">50</td></tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td></tr> <tr> <td>John</td> <td>Doe</td> <td>80</td></tr> <tr> <td>Adam</td> <td>Johnson</td> <td>67</td></tr> </tbody> </table>').tableToJSON({ignoreHiddenRows: false}); alert(JSON.stringify(table));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://cdn.rawgit.com/lightswitch05/table-to-json/master/src/jquery.tabletojson.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.