0
はあなたが私はいくつかの理由のため、以下のjavascripttable.removeRow()はテーブルを 'リセット'しても機能しなくなりますか?
var table = document.getElementById('myTable');
var form = document.getElementById('myForm');
var formSave = form.innerHTML;
function remove(rowID)
{
table.deleteRow(rowID);
}
function reset()
{
form.innerHTML = formSave;
}
を持って
<form id="myForm">
<table id="myTable">
<tr>
<th>One</th>
<th>Two</th>
<th>Three</th>
</tr>
<tr>
<td>Alpha</td>
<td>Bravo</td>
<td><a href="javascript:remove(1)">X</a></td>
</tr>
<tr>
<td>Charlie</td>
<td>Delta</td>
<td><a href="javascript:remove(2)">X</a></td>
</tr>
<tr>
<td>Echo</td>
<td>Foxtrot</td>
<td><a href="javascript:remove(3)">X</a></td>
</tr>
</table>
</form>
<a href="javascript:reset()">Reset</a>
のHTMLテーブルがあるとし、remove()
機能が正常に動作しますが、reset()
機能を使用した後、それはもはや作品。誰が私にこの理由が教えてもらえますか?
を助けたようにのような...
希望、リセット機能の再取得の要素によってこの問題を解決することができます関数が呼び出されますさえしていますか? – toddmo
イベントの委任と関係があります。[link1](https://davidwalsh.name/event-delegate)、[link2](https://learn.jquery.com/events/event-delegation/)、[link3] (https://stackoverflow.com/a/1688293/3407923)(jQueryリンクは依然として原則を理解するのに役立つかもしれません)。または単にgoogle "js event delegation"を参照して、どのサイトがそれを最もよく説明しているかを確認してください。 – myfunkyside
'table.deleteRow(rowID);'を 'document.getElementById( 'myTable')。deleteRow(rowID);に変更してください。リセットを呼び出すとおそらく動作します。 – myfunkyside