我在HTML数据表的每一行中都插入了一个删除按钮。在按钮上单击,我要删除该行。但是,我的删除按钮无法启动JS功能。
我尝试了button.setAttribute
和button.onclick
,但是它们为空。
function MakeTable(iArray)
{
var myArray = [];
var table = document.getElementById("myTable");
for(var i = 0; i< iArray.length; ++i)
{
myArray[i] = iArray[i];
btn = document.createElement('button');
btn.setAttribute('type', 'button');
btn.setAttribute('class','Delete');
btn.setAttribute('id', myArray[i].userID);
btn.innerHTML = "Delete" + btn.getAttribute('id');
let row0 = table.insertRow();
let blankCell = row0.insertCell(0)
let cell0 = row0.insertCell(1);
let cell1 = row0.insertCell(2);
let cell2 = row0.insertCell(3);
blankCell.appendChild(btn);
cell0.textContent = myArray[i].userID;
cell1.textContent = myArray[i].username;
cell2.textContent = myArray[i].password;
}
btn.setAttribute('onclick', DeleteUsers());
}
function DeleteUsers()
{
alert("clicked!");
}
警报会在重新加载页面上显示,但不会在单击任何按钮时显示。
答案 0 :(得分:0)
您不应该使用onClick
,因为它是不安全的并且只是马车。相反,如果您使用的是jQuery,或者如果您使用的是Vanila JS,请尝试使用$('.class').on('click', function(){ DeleteUsers() }
:
document.getElementByClassName('class').addEventListener('click', function () {
DeleteUsers();
});
答案 1 :(得分:0)
btn.setAttribute('onclick', DeleteUsers());
当您将其指定为“ onclick”时,此行将执行DeleteUsers()方法。
尝试
btn.setAttribute('onclick', DeleteUsers);
这样,您仅将指针传递给该方法,而不是立即调用它。