以下のコードは、ユーザーが addmore リンクをクリックすると要素を追加します。
ユーザーが削除リンクをクリックすると、問題が発生します。
私は自分のコードにこれらのようなものを持っています
<script language="JavaScript">
var count=1;
function addmore() {
alert(count);
var printme = "<table id='table"+count+"'><tr><td><a href='#' onclick='remove(count)'>remove</a></td></tr></table";
//(other code here)...
count++;
}
function remove(y) {
alert(y)
var tab = 'table'+y;
document.getElementById(tab).style.display = "none";
}
</script>
ここでアラートを使用したので、アラートが提供する count の値を簡単に監視できます。
ここで何が起こるかというと、(remove 関数の) 'y' の値は常に同じで、これはループ内の count の最後の値です。
たとえば、リンク addmore を 3 回クリックすると、「count=4」の最後の値になります。そして、この時点で削除リンクをクリックしたときに、この remove(3) のような引数を渡す必要がある 3 番目の要素を削除したいとします。しかし、ここで何が起こるかは、私がクリックした要素であり、常にこの方法で引数を渡しているようです remove(4)