0
JSONデータを含むテーブルを作成するスクリプトがあります。各列の中には、2つのテキストと1つのボタンがあります。ボタンのonlickメソッドは、以前のテーブルの同じ行からの2つのテキストで満たされる他のHTMLページに移動する必要があります。 まず、別のボタンのonclickで異なるテキストをコンソールに出力しようとしています。ここでそれを行う必要がある作品だ:これはすべて正しいのidので正しくテーブルを作成しますが動的に作成された各ボタンの別のonclickメソッドを参照する方法はありますか?
for (var i in json) {
var row = table.insertRow(0);
var cel1 = row.insertCell(0);
var cel2 = row.insertCell(1);
var cel3 = row.insertCell(2);
cel1.innerHTML = json[i].nome;
cel2.innerHTML = json[i].idade;
var b = document.createElement("BUTTON");
var idd = "id" + i;
b.setAttribute("id", idd);
var t = document.createTextNode("Loja");
b.appendChild(t);
b.onclick = function(event) {
console.log(idd);
}
cel3.appendChild(b);
は、すべてのボタンの押しは最後idd
値を印刷し、IDボタンと一致していない1。誰かがこれを解決する方法またはそれを実装するより良い方法を知っていますか?
'イベント委任 'を使用 – Mahi
閉鎖の問題です。試してみてください。console.log(this.id)instea d。また、b.idだけで設定することもできます。idのsetAttributeは必要ありません。 – Lain