【问题标题】:btn.setAttribute("onclick","myFunction(this.id)"); dosent work?btn.setAttribute("onclick","myFunction(this.id)");不工作?
【发布时间】:2020-09-09 20:09:59
【问题描述】:

我试试这个代码:

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) 不起作用。它首先起作用。但是经过一些更改后,它不再起作用了。请指导我。我探索了不同的解决方案

【问题讨论】:

标签: javascript setattribute


【解决方案1】:

不要为 onclick 设置属性

您可以直接设置属性:

btn.onclick = function(e) { myFunction(btn.id) }

或使用addEventListener

btn.addEventListener('click', function(e) { myFunction(btn.id) });

(也可以直接设置id,使用btn.className = 'tablebtn')

【讨论】:

    猜你喜欢
    • 2020-02-18
    • 2016-06-05
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多