【发布时间】:2012-01-11 16:13:18
【问题描述】:
<div class="transactionsWrapper">
<input type="button" value="Delete" />
</div>
如果我将上面的 div 克隆了 5 次,根据单击的删除按钮删除 div 的 jquery 代码是什么?
【问题讨论】:
<div class="transactionsWrapper">
<input type="button" value="Delete" />
</div>
如果我将上面的 div 克隆了 5 次,根据单击的删除按钮删除 div 的 jquery 代码是什么?
【问题讨论】:
$( ".transactionsWrapper input:button" ).click( function() {
$( this ).parent().remove();
} );
【讨论】:
这应该可行:
$('input:button[value="Delete"]').click(function() {
$(this).closest('div.transactionsWrapper').remove();
});
【讨论】:
$(document).on('click', '.transactionsWrapper button', function(){
$(this).parent().remove();
})
【讨论】:
on函数替换为delegate即可。
$(".button").click(function(){
if($(this).parent().hasClass("transactionsWrapper")){
$(this).parent().remove();
}
})
【讨论】:
只是...删除输入的父级?
$('input[value=Delete]').on('click', function () {
$(this).parent().remove();
});
编辑
嗯...如果您在分配事件侦听器之后添加克隆的<div> 元素,这将不起作用。最安全的方法是使用委托:
$(document.body).on('click', 'input[value=Delete]', function () {
$(this).parent().remove();
});
【讨论】: