私がやりたいのは、ボタンをクリックして div を作成することです。その div には別のボタンがあり、クリックするとその div が削除されます。したがって、最初のボタンは、この削除ボタンを内部に含む多くの div を作成する可能性がありますが、削除ボタンでその div のみを削除する必要があります。助言がありますか?
質問する
235 次
3 に答える
0
次のようなことができます:
<script>
var addDiv = (function() {
var div = document.createElement('div');
div.appendChild(document.createTextNode('some text'));
var button = document.createElement('button');
button.appendChild(document.createTextNode('Remove...'));
button.type = "button";
return function() {
var d = div.cloneNode(true);
var b = button.cloneNode(true);
b.onclick = function() {
var d = this.parentNode;
d.parentNode.removeChild(d);
};
d.appendChild(b);
document.body.appendChild(d);
};
}())
</script>
<button onclick="addDiv()">Add a div</button>
上記は、それを実行する 1 つの方法を示す簡単な例にすぎません。要素を複製すると、プロパティとして追加された、または addEventListener によって追加されたリスナーがドロップされることに注意してください (そうでない場合、このスクリプトは非常に単純になります)。
于 2013-04-15T04:56:19.427 に答える
0
HTML:
<input type="button" id='create' value="Create div!"/>
JS:
var i = 0;
document.onclick = function(e) {
var t = e.target;
if(t.id == 'create'){
t.parentNode.innerHTML += '<div>I AM A CHILD '+(++i)+' <input type="button" class="child" value="DELETE ME!"/><br/></div>';
}
if (t.className == 'child') {
t.parentNode.outerHTML = '';
}
};
document.onclick を使用してターゲット要素を検出すると、新しく作成された div を監視するライブ クリックとして使用できます。
早くて頭がぼんやりして、コードが少し汚れているかもしれません
于 2013-04-15T05:18:55.380 に答える
0
ページに「削除ボタン」を保持する必要がない場合は、click
それぞれにイベントをバインドし.removeChild
、親 div の親要素で使用します。
フィドルのデモ
于 2013-04-15T04:26:17.780 に答える