如何解决btn.setAttribute“ onclick”,“ myFunctionthis.id”;有功吗?
我尝试以下代码:
tableData.forEach(function(rowData) {
var row = document.createElement('tr');
alert(r);
var c = 0;
rowData.forEach(function(cellData) {
var cell = document.createElement('td');
cell.appendChild(document.createTextNode(cellData));
row.appendChild(cell);
c++;
});
var btn = document.createElement("BUTTON");
btn.appendChild(document.createTextNode("نمایش"));
btn.setAttribute("id",r);
btn.setAttribute("class","tablebtn");
btn.setAttribute("onclick","myFunction(this.id)");
var cell1 = document.createElement('td');
cell1.appendChild(btn);
row.appendChild(cell1);
tableBody.appendChild(row);
r++;
});
但是myFunction(this.id)不起作用。它首先起作用。但是经过一些更改后,它不再起作用。请指导我。我探索了不同的解决方案
解决方法
不要为onclick设置属性
您可以直接设置属性:
btn.onclick = function(e) { myFunction(btn.id) }
或使用addEventListener
btn.addEventListener('click',function(e) { myFunction(btn.id) });
(您也可以直接设置ID,并使用btn.className ='tablebtn')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。