Вы можете использовать
element.appendChild
https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild
document.addEventListener("click", function() {
document.getElementById("tbl").appendChild(document.createElement("tr"));
})
table {
width: 100%;
background: pink;
}
tr {
height: 10px;
width: 100px;
}
<table id="tbl">
</table>
<button>Add row</button>
ИЛИ
element.innerHTML
https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML
document.addEventListener("click", function() {
document.getElementById("tbl").innerHTML +=
"<tr></tr>"
})
table {
width: 100%;
background: pink;
}
tr {
height: 10px;
width: 100px;
}
<table id="tbl">
</table>
<button>Add row</button>
При таком подходе ваш код может быть написан, как показано ниже. Это пример добавления строк. Логика может применяться для добавления столбцов или любого элемента DOM
function DataBind(dataList) {
var SetData = document.getElementById("setdata");
for (var a = 0; a < dataList.length; a++) {
var data = `<tr>
<td>${dataList[a].Item_code}</td>
<td>${dataList[a].Item_Name}</td>
<td>1</td>
<td>
<button type='button' onclick='addItem("${dataList[a].Item_code}","${dataList[a].Item_Name}")' class='btn btn-primary'>
<span class='glyphicon glyphicon-plus'/>Add
</button>
<button type='button' class='btn btn-primary' onclick='removeItem("${dataList[a].Item_code}")'>
<span class='glyphicon glyphicon-minus'/>Remove</button>
</td>
</tr>`
SetData.innerHTML += data;
}
}
DataBind([{
Item_code: "1",
Item_Name: "Item1"
},
{
Item_code: "2",
Item_Name: "Item2"
},
{
Item_code: "3",
Item_Name: "Item3"
}
])
function addItem(val, name) {
var table2 = document.getElementById("setfinaldata");
var Newdata = `
<tr class="${val}">
<th>${val}</th>
<th>${name}</th>
<th>1</th>
<th></th>
</tr>`;
table2.innerHTML += Newdata;
}
function removeItem(id) {
const table = document.getElementById("setfinaldata");
const rows = document.getElementsByClassName(id);
while (rows && rows.length > 0) {
table.removeChild(rows[0]);
}
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
<table class="table table-responsive table-hover table-bordered" id="tablefinaldata">
<thead>
<tr>
<td>
<h5> Code</h5>
</td>
<td>
<h5> Item</h5>
</td>
<td>
<h5> Price</h5>
</td>
<td>
<h5> Quantity</h5>
</td>
</tr>
</thead>
<tbody id="setfinaldata"></tbody>
</table>
<table id="setdata" class="table table-responsive table-hover table-bordered"></table>