设置“n”按钮的 ID

Setting ID for "n" buttons

本文关键字:ID 按钮 设置      更新时间:2023-09-26
    //Display
        for (var z=0; z<n; z++) {   
            document.write("<tr><td>"+ z + "</td>");  // Serial
            document.write("<td>" + RandonValue + "</td>"); // Random Number
            document.write('<td><button onclick="reply_click()" id="button-' + z + '">Click me</button></td></tr>'); //onClick
        }
    //Set ID
    function reply_click(clicked_id){
        alert(clicked_id);
    }

不知何故,我得到了所有这些undefined

replay_click仅用于检查,我想在我有不同的ID时进行更改。

在这种情况下,您的 z 变量是可用于 id 的计数器,请记住,ID 不能以数字开头。

document.write('<td><button onclick="somefunction" id="button-' + z + '">Click me</button></td></tr>');

我为你创建了一个小提琴。检查一下。我希望它满足要求:)

https://jsbin.com/doxusi/edit?html,js,output

<table id="mytable"></table>
var html = '';
  var random = 5;
  for (var i = 1; i <= random; i++) {
    html += '<tr>' +
      '<td>' + i + '</td>' +
      '<td>Some Number</td>' +
      '<td><button id="id_' + i + '">Button ' + i + '</button></tr></td>';
  }
  document.getElementById('mytable').innerHTML = (html);
你可以

像这样注入你的z变量,也可以加上双引号(最佳实践:

document.write('<td><button onclick="somefunction(this)" id="mycell-' + z + '">Click me</button></td></tr>');

请注意,您最好将this传递给您的函数,因此在该函数中您可以引用该 id:

function somefunction(elem) {
    alert('you clicked ' + elem.id);
}