我正在尝试使用链接删除 <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?
最佳答案
您需要使用 .closest()
$(this).closest('tr').remove();
.parent()将仅找到直接父元素,在本例中为 td
元素,因为它与传递的选择器 tr
不匹配,该方法将不会返回任何元素。相反,您想找到祖先 tr
元素,因此您需要使用 .closest()
关于javascript - 带有多标签的 jquery 方法 parent() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21875082/