Проблема в том, что вы используете removeUser[i].closest('tr')
в обработчике событий, но при вызове этого в al oop ссылка на исходный целевой элемент будет потеряна.
Вместо что вы можете использовать замыкание вокруг вашего обработчика событий или, что намного проще, использовать ключевое слово this
для ссылки на элемент, по которому щелкнули:
this.closest('tr').remove();
function CreateTable() {
var members = [{
"Team Member": "Erica Badu",
"Email": "e.badu@example.com",
"Permission Level": "Owner"
}, {
"Team Member": "Pat Nelsson",
"Email": "p.nelsson@example.com",
"Permission Level": "Admin"
}, {
"Team Member": "Pending acceptance",
"Email": "j.dog@example.com",
"Permission Level": "Standard"
}, {
"Team Member": "Amy Namy",
"Email": "a.namy@example.com",
"Permission Level": "Standard"
}, {
"Team Member": "Victor D.",
"Email": "v.d@example.com",
"Permission Level": "Standard"
}, {
"Team Member": "Olly",
"Email": "o.hunter@example.com",
"Permission Level": "Standard"
}]
var col = [];
for (var i = 0; i < members.length; i++) {
for (var key in members[i]) {
if (col.indexOf(key) === -1) {
col.push(key);
}
}
}
var table = document.createElement("table");
var tr = table.insertRow(-1);
for (var i = 0; i < col.length; i++) {
var th = document.createElement("th");
th.innerHTML = col[i];
tr.appendChild(th);
}
for (var i = 0; i < members.length; i++) {
tr = table.insertRow();
for (var j = 0; j < col.length; j++) {
var tabCell = tr.insertCell();
tabCell.innerHTML = members[i][col[j]];
}
}
var divContainer = document.querySelector(".table");
divContainer.innerHTML = "";
divContainer.appendChild(table);
$("tr td:nth-last-child(1)").append("<button> </button>");
$("tr td:nth-last-child(1) button").addClass('remove');
var removeUser = document.getElementsByClassName('remove');
for (var i = 0; i < removeUser.length; i++) {
const el = removeUser[i].closest('tr')
removeUser[i].addEventListener('click', function(e) {
e.preventDefault();
this.closest('tr').remove();
});
}
}
CreateTable();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="table"></div>