微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

btn.setAttribute“ onclick”,“ myFunctionthis.id”;有功吗?

如何解决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 举报,一经查实,本站将立刻删除。