Ich habe eine Tabelle mit dynamisch generiertem Inhalt. Jede Zeile enthält einen Button, der dieser Reihe dienen soll. In meinem Fall möchte ich, dass der OuterHTML meiner Schaltfläche den Namen des Namens in seiner Zeile übernimmt.Einstellungsfunktionen für dynamisch generierte Tabelle
Ich habe Probleme bei der Zuweisung this
zu meinem onclick-Ereignis. Wenn Sie auf eine der Schaltflächen klicken, wird nur der Name in der ersten Zeile wiederholt. Ich bin mir nicht sicher über die genaue richtige Syntax, damit die Schaltfläche in den entsprechenden Zeilennamen geändert wird.
var erray = ["Todd", "Bill", "Sam"];
var pname = document.querySelectorAll('.pname');
var adoptname = document.querySelectorAll('.adoptname');
for (var i = 0; i < erray.length; i++){
var adoptname = document.querySelectorAll('.adoptname');
pname[i].innerText = erray[i];
adoptname[i].onclick = adoption;
function adoption(){
for (var i = 0; i < pname.length; i++)
this.outerHTML = pname[i].innerHTML;
}
}
table { border: 1px solid black; }
<table>
<thead><tr>
<th>Name</th>
<th>Adopt</th>
</tr></thead>
<tbody>
<tr><td class="pname"></td><td><button class="adoptname">Adopt</button></td></tr>
<tr><td class="pname"></td><td><button class="adoptname">Adopt</button></td></tr>
</tbody>
</table>
Das Kopieren Ihres Codes scheint zu [das] (https://jsfiddle.net/86zp2721/) zu führen, das immer noch nicht funktioniert. – abrahamlinkedin
Jetzt habe ich überprüft und den vollen Arbeitscode hinzugefügt. Überprüfen Sie es jetzt. –