フォームは複製されていますが、必要に応じて 'x'ボタンで削除することはできません。JavaScriptを使用してボタンをクリックしてdivを削除する
私は、以下のようにdiv要素のうち、両方の私のボタンを配置:「+」記号は、より多くのフォームを追加するためにクリックされるたびに
<button type="button" id="cross" class="buttonImgTop" onclick="remChild()"></button>
<div id="ValuWrapper"> ...content comes here... </div>
<button type="button" class="buttonImg" onclick="repeat()"></button>
「X」ボタンと「div要素は」クローン化され得ると重複ウェブサイト上で
<script>
var i = 0;
var original = document.getElementById('ValuWrapper');
var crossButton = document.getElementById('cross');
var n = 0;
function repeat() {
var clone = original.cloneNode(true);
var crossBut = crossButton.cloneNode(true);
clone.id = "ValuWrapper" + ++i;
crossBut.id = "cross" + i;
crossButton.parentNode.appendChild(crossBut);
original.parentNode.appendChild(clone);
// used for remChild() function
n = i;
}
function remChild(){
for(i = 0; i <= n; i +=1)
{
$("#cross"+[i]).click(function() {
$("#ValuWrapper"+[i]).slideUp(400, function() {
$("#ValuWrapper"+[i]).remove();
$(this).remove();
});
});
}
}
</script>
は、私は何をしようとしている「X」ボタンをクリックすると、アニメーション「slideUpは()」で動作します:ここで
は、両方がフォームをクローニングし、それを除去するためのコードです指定されたdivは、ボタンとdivの両方を削除します。これは、クライアントが望む任意の順序で行わなければなりません。しかし、それは動作していないようです。
1.ループクロージャを検索する必要があります。 2. idを使用しないでください。 [最も近い方法](https://api.jquery.com/closest/)を使用してください。3. DOMとjQueryを混ぜないでください。 – mplungjan
htmlを提供してください。 –
@mplungjanなぜ代わりに '休憩'を使用できないのですか?私が関数内で関数を持つことを理解することができず、関数を呼び出すことができなかったので、ループ閉鎖はJavaScriptで正直に混乱しているように見えます。しかし、アクションが1回実行されると、これはループを停止しますか? –