JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.13/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.2.4/css/buttons.dataTables.min.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.2.4/js/dataTables.buttons.min.js"></script>
<body>
<table id="vtable" class="table cell-border dataTable">
<thead>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>Warranty</td>
<td>Duration of the warranty is as per the contracted period.</td>
</tr>
<tr>
<td>Payment Terms</td>
<td>100% on confirmation</td>
</tr>
<tr>
<td>Delivery Schedule</td>
<td>3 working days </td>
</tr>
<tr>
<td>Communication</td>
<td>Standard charges apply</td>
</tr>
<tr>
<td>Hosting & Maintenance</td>
<td>Service charges.</td>
</tr>
<tr>
<td>Removal & Re-installation</td>
<td>Removal & Re-installation (Same Time)</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Name</td>
<td>Description</td>
</tr>
</tfoot>
</table>
</body>
JavaScript
function decodeHTML(str){ return $('<div>').html(str).text(); }
function RawData(otable){
var dataRows = otable.rows().data();
var TermsData = [];
for (var i = 0; i < dataRows.length; i++) {
TermsData.push({
Name: decodeHTML(dataRows[i][0]),
Description: decodeHTML(dataRows[i][1])
});
}
console.log(TermsData);
}
function StringfyData(otable){
var dataRows = otable.rows().data();
var TermsData = [];
for (var i = 0; i < dataRows.length; i++) {
TermsData.push({
Name: decodeHTML(dataRows[i][0]),
Description: decodeHTML(dataRows[i][1])
});
}
console.log(JSON.stringify(TermsData));
};
$(document).ready(function () {
var otable;
otable = $('#vtable').DataTable({
"dom": '<"top"lBf<"clear">>rt<"bottom"ip<"clear">>',
buttons: [{
text: 'Raw',
action: function (e, dt, node, config) {
RawData(otable);
}
},
{
text: 'Stringfy',
action: function (e, dt, node, config) {
StringfyData(otable);
}
}],
});
});