我在尝试设置行时遇到问题,按下删除按钮时,行将从表中删除。当我按如下所示设置onclick方法时,它会在创建时自动删除该行。我假设它正在调用函数
我已经看到你在分配导致问题的那个和那个时应该删除括号。但由于显而易见的原因,我要求行id能够删除该行。
name = "thomas";
foo = "foo";
bar = "bar";
// Create a new row
var row = table.insertRow();
row.id = name;
// Create cells with requested information
row.insertCell().innerText = name;
row.insertCell().innerText = foo;
row.insertCell().innerText = bar;
var removeButton = document.createElement("BUTTON");
removeButton.innerHTML = "Remove";
removeButton.onclick = deleteRow(row.id);
var removeButtonCol = row.insertCell();
removeButtonCol.appendChild(removeButton);
function deleteRow(rowID)
{
var row = document.getElementById(rowID);
row.parentNode.removeChild(row);
}
那我怎么解决这个问题呢?我不知道如何为需要括号或eaiser方法的函数设置onclick,以便在按下属于rwo的按钮时传递行id
答案 0 :(得分:1)
事实证明我应该使用事件监听器而不是onclick方法。
EG,我们在那里做了onclick:
var removeButton = document.createElement("BUTTON");
removeButton.innerHTML = "Remove";
removeButton.addEventListener('click', function () {
deleteRow(row.id)
});
这完美无缺