我正在尝试使用链接<a href="#" class="removeclass">remove row</a>
进行删除
下面的一行:
$(AddButton).click(function (e) //on add input button click
{
FieldCount++; //text box added increment
//add input box
var menu = '<td><input....></td>';
var numPortata = '<td><input...></td>';
var quantita = '<td><input......></td>';
// THIS IS THE ROW
$(InputsWrapper).append('<tr><td><a href="#" class="removeclass"><b>×</b></a></td>'+ menu + numPortata + quantita +'</tr>');
x++; //text box increment
return false;
});
$("body").on("click",".removeclass", function(e){ //user click on remove text
if( x > 1 ) {
$(this).parent('tr').remove(); //remove text box
x--; //decrement textbox
}
return false;
})
点击链接,直到我只使用div
而不是tr
它才能正常工作。
但是我需要使用表来执行此操作,以便为什么从唯一的<div>
更改为包含行和单元格的表不起作用?
我需要编辑什么?我试图用.parent()
代替tr
我已经尝试td
,显然它删除了×
(×),但没有删除。如何删除整个tr?
答案 0 :(得分:1)
您需要使用.closest()
$(this).closest('tr').remove();
.parent()将只找到直接父元素,在本例中为td
元素,因为它与传递的选择器tr
不匹配,该方法不会返回任何元素。相反,您想要找到祖先tr
元素,因此您需要使用.closest()