无法删除动态添加的行

时间:2017-03-14 08:34:52

标签: jquery

我正在尝试删除使用jquery动态添加的行。因此,当我点击删除图像时,它应该删除相应的行。但我的代码不起作用。请有人帮我找到我的错误。



$("body").on("click", "#tab_logic .del", function() { 
	alert("i am");
	$("tab_logic").parents("tr").remove();
	alert("worked"); // not executing because of above code
});




4 个答案:

答案 0 :(得分:0)

使用Azure CLI

  

描述:对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。

$("tab_logic").closest("tr").remove();

答案 1 :(得分:0)

$("tab_logic") //Is that a valid selector? that supposed to be starts with # as per your code block.
$("body").on("click", "#tab_logic .del", function() { $("#tab_logic").parents("tr").remove();}

答案 2 :(得分:0)

只需使用this

当在类del的元素上引发click事件时,回调将在其上下文中包含该元素,您可以使用它来编写逻辑。

所以而不是:

 $("tab_logic").parents("tr").remove();

使用

 $(this).parents("tr").remove();

这是工作样本,因为你没有提供html,我只是假设一个简单的测试。

$("body").on("click", "#tab_logic .del", function() { 
	$(this).parents("tr").remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<table id="tab_logic" border=1>
<tr><td>Data1</td><td><a href="#" class="del">Delete</a></td></tr>
<tr><td>Data2</td><td><a href="#" class="del">Delete</a></td></tr>
<tr><td>Data3</td><td><a href="#" class="del">Delete</a></td></tr>
</table>

答案 3 :(得分:0)

如果你的行是动态的,那么你必须在

中编写你的jquery代码

$(文件)。在(&#39;单击&#39;&#39;选择器&#39;,函数(){  
//在此处写下删除行代码

});