所以基本上我在一个表中添加了两个不同的thinds,在第一个表中使用相同的.parent()。parent()。remove()mehtod,在第二个表中没有。
有什么想法吗?
这是代码。 http://jsfiddle.net/rzmA4/
$(document).ready(function(){
$('#adauga_model').on('click', function(){
$('#modele_adaugate').append('<tr><td><input type="file" name="model[]"></td><td><button class="remove" type="button">Remove</button></td></tr>');
});
$('#adauga_design').on('click', function(){
$('#designuri_adaugate').append('<tr><td><input type="file" name="design[]"></td><td><button class="remove" type="button">Remove2</button></td></tr>');
});
$("td").on('click', '.remove', function() {
$(this).parent().parent().remove();
return false;
});
});
答案 0 :(得分:3)
有趣的是,它完全适用于第一个,但是当文档加载时,您正在为所有TD元素添加一个事件监听器。但是,您正在创建新的,没有事件侦听器。
我重写了脚本如下解决问题:
$("body").on('click', 'td .remove', function() {
$(this).closest("tr").remove();
return false;
});
作为奖励:使用closest("tr")
比执行parent().parent()
更好。当您执行后者并且稍后更改设计时,您可能会遇到错误。